تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
خطأ في كود منع تكرار العناصر في DataGridView
#1
السلام عليكم اخوتي
هذا كوند يمنع تكرار اي عنصر في الشبكة 
المشكله ان في حدث  DataGridView1_KeyDown طبيعي شغال
لكن في حدث في حدث DataGridView1_CellEndEdit تظهر رسالة خطاء 
(لم يتم تعيين مرجع كائن لمثيل كائن.) ما مقصود هذه الرسالة و ما هي حلها



كود :
                   Dim ri = From r As DataGridViewRow In DG.Rows Where r.Cells(0).Value.ToString = TextBox1.text Select r.Index
                   If Not ri.Count = 0 Then
                       DG.ClearSelection()
                       DG.Rows(ri(0)).Selected = True
                       DG.FirstDisplayedScrollingRowIndex = ri(0)

                       Return
                   End If
الرد
تم الشكر بواسطة: asemshahen5
#2
(20-11-21, 10:37 AM)غدير الصليحي كتب : السلام عليكم اخوتي
هذا كوند يمنع تكرار اي عنصر في الشبكة 
المشكله ان في حدث  DataGridView1_KeyDown طبيعي شغال
لكن في حدث في حدث DataGridView1_CellEndEdit تظهر رسالة خطاء 
(لم يتم تعيين مرجع كائن لمثيل كائن.) ما مقصود هذه الرسالة و ما هي حلها



كود :
                   Dim ri = From r As DataGridViewRow In DG.Rows Where r.Cells(0).Value.ToString = TextBox1.text Select r.Index
                   If Not ri.Count = 0 Then
                       DG.ClearSelection()
                       DG.Rows(ri(0)).Selected = True
                       DG.FirstDisplayedScrollingRowIndex = ri(0)

                       Return
                   End If

عدلي السطر التالي
PHP كود :
Dim ri From r As DataGridViewRow In DG.Rows Where Not r.IsNewRow AndAlso r.Cells(0).Value.ToString TextBox1.Text Select r.Index 
المشكله كانت عندما يحاول يقرا محتوى الخليه في السطر الجديد
الرد
تم الشكر بواسطة: غدير الصليحي , asemshahen5
#3
(20-11-21, 11:02 AM)w.osama كتب :
(20-11-21, 10:37 AM)غدير الصليحي كتب : السلام عليكم اخوتي
هذا كوند يمنع تكرار اي عنصر في الشبكة 
المشكله ان في حدث  DataGridView1_KeyDown طبيعي شغال
لكن في حدث في حدث DataGridView1_CellEndEdit تظهر رسالة خطاء 
(لم يتم تعيين مرجع كائن لمثيل كائن.) ما مقصود هذه الرسالة و ما هي حلها



كود :
                   Dim ri = From r As DataGridViewRow In DG.Rows Where r.Cells(0).Value.ToString = TextBox1.text Select r.Index
                   If Not ri.Count = 0 Then
                       DG.ClearSelection()
                       DG.Rows(ri(0)).Selected = True
                       DG.FirstDisplayedScrollingRowIndex = ri(0)

                       Return
                   End If

عدلي السطر التالي
PHP كود :
Dim ri From r As DataGridViewRow In DG.Rows Where Not r.IsNewRow AndAlso r.Cells(0).Value.ToString TextBox1.Text Select r.Index 
المشكله كانت عندما يحاول يقرا محتوى الخليه في السطر الجديد

مشكور اخي 
بس الان اصبح يمنع كل العناصر 
أي عنصر يدخل يمنعه
الرد
تم الشكر بواسطة: asemshahen5
#4
لو الراي عندي الغي الاضافة والتعديل من اداة شبيكة البيانات ويكون التحرير [اضافة حذف تعديل] من ادوات أخرى[مربعات نص ادوات تسمية ازرار] وهكذا.

PHP كود :
Public Class Form1

    Private 
Function Gid() As Integer
        Return dg
.Rows.Count IIf(dg.AllowUserToAddRows10)
 
   End Function
 
   Private Sub selt()
 
       txtname.Clear()
 
       txtname.Focus()
 
       txtname.Select()
 
       dg.CurrentCell dg.Rows(Gid() - 1).Cells(0)
 
       dg.Rows(Gid() - 1).Selected False
    End Sub
    Private 
Function Isfound(ByVal txt As String) As Boolean
        For Each row 
As DataGridViewRow In dg.Rows
            If row
.Cells(1).Value txt Then
                Return True
            End 
If
 
       Next
        Return False
    End 
Function
 
   Private Sub btnadd_Click(sender As ObjectAs EventArgsHandles btnadd.Click
        If txtname
.Text.Trim "" Then Beep() : Exit Sub
        If Isfound
(txtname.Text) = False Then
            dg
.Rows.Add(Gid() + 1txtname.Text)
 
           selt()
 
       Else
            Beep
() : selt()
 
       End If
 
   End Sub


End 
Class 


الملفات المرفقة
.zip   BlockDupsInDGV.zip (الحجم : 18.83 ك ب / التحميلات : 1)
الرد
تم الشكر بواسطة: asemshahen5 , غدير الصليحي , w.osama
#5
(20-11-21, 08:24 PM)سعود كتب : لو الراي عندي الغي الاضافة والتعديل من اداة شبيكة البيانات ويكون التحرير [اضافة حذف تعديل] من ادوات أخرى[مربعات نص ادوات تسمية ازرار] وهكذا.

PHP كود :
Public Class Form1

    Private 
Function Gid() As Integer
        Return dg
.Rows.Count IIf(dg.AllowUserToAddRows10)
 
   End Function
 
   Private Sub selt()
 
       txtname.Clear()
 
       txtname.Focus()
 
       txtname.Select()
 
       dg.CurrentCell dg.Rows(Gid() - 1).Cells(0)
 
       dg.Rows(Gid() - 1).Selected False
    End Sub
    Private 
Function Isfound(ByVal txt As String) As Boolean
        For Each row 
As DataGridViewRow In dg.Rows
            If row
.Cells(1).Value txt Then
                Return True
            End 
If
 
       Next
        Return False
    End 
Function
 
   Private Sub btnadd_Click(sender As ObjectAs EventArgsHandles btnadd.Click
        If txtname
.Text.Trim "" Then Beep() : Exit Sub
        If Isfound
(txtname.Text) = False Then
            dg
.Rows.Add(Gid() + 1txtname.Text)
 
           selt()
 
       Else
            Beep
() : selt()
 
       End If
 
   End Sub


End 
Class 

مشكور اخي سعود الف شكر لك 
جهودك جبارة و حلولك رائعة
الرد
تم الشكر بواسطة: سعود , asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Lightbulb [VB.NET] كيفية نجعل CheckBox في DataGridView كأنه RadioButton أبو خالد الشكري 3 138 , 02:12 PM
آخر رد: أبو خالد الشكري
  كيف التعامل مع DataGridView في حال وجود اعمدة غير متطابقة في DataSource غدير الصليحي 3 159 28-11-21, 12:47 PM
آخر رد: سعود
  سؤال datagridview محمود صالح 1 147 08-11-21, 07:25 PM
آخر رد: Anas Mahmoud
  سؤال datagridview محمود صالح 2 243 01-11-21, 02:03 PM
آخر رد: محمود صالح
  تكرار البيانات مع كل فتح للنموذج مسلم_١ 3 227 25-10-21, 11:36 PM
آخر رد: مسلم_١
  دمج صفوف من Datagridview الي textbox عبدالكريم برشدان 1 296 14-10-21, 02:21 PM
آخر رد: ابراهيم ايبو
  اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox mh66 7 476 12-10-21, 08:49 PM
آخر رد: ابو انس
Heart [سؤال] المطلوب كود فيجوال VB لجعل TEXTBOX تساوي datagridview عند الضغط bilgacim 5 507 15-08-21, 12:15 AM
آخر رد: ابراهيم ايبو
  طلب كود تعبئة اعمدة محددة لجدولين مختلفين الى DataGridView bilgacim 5 480 11-08-21, 07:59 PM
آخر رد: ابو انس
  [VB.NET] استفسار تعبئة اثنين DataGridView في فورم واحد من جداول مختلفة bilgacim 3 590 08-08-21, 11:16 PM
آخر رد: ابراهيم ايبو

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم