تقييم الموضوع :
  • 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 ك ب / التحميلات : 22)
الرد }}}
تم الشكر بواسطة: 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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 164 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  معرفة عدد مرات تكرار الاسم في الداتاقريدفيو صالح عبدالله 8 426 05-02-24, 04:39 PM
آخر رد: صالح عبدالله
  فلترة datagridview بدون قاعدة بيانات صالح عبدالله 3 295 02-02-24, 04:07 PM
آخر رد: صالح عبدالله
  [VB.NET] ظهور التاريخ غير مرتب بالأقدم في datagridview مبرمج صغير 1 4 304 26-01-24, 03:41 PM
آخر رد: atefkhalf2004
  [VB.NET] التاريخ في أداة أبو سامر لطباعة DataGridView مبرمج صغير 1 17 629 26-01-24, 01:52 AM
آخر رد: مبرمج صغير 1
  [VB.NET] منع تكرار البيانات في عند الادخال مبرمج صغير 1 2 255 24-01-24, 05:18 PM
آخر رد: مبرمج صغير 1
  مشكلة في datagridview Adata 4 310 17-01-24, 03:00 PM
آخر رد: aljzazy
Lightbulb [VB.NET] إطهار الصورة بمقاس معين في DataGridView أبو خالد الشكري 2 323 14-12-23, 03:01 PM
آخر رد: أبو خالد الشكري
Question [VB.NET] اسم عمود الأرقام في DataGridView أبو خالد الشكري 6 606 03-12-23, 08:01 AM
آخر رد: أبو خالد الشكري
  [VB.NET] Datagridview Slow حركة بطيئة waataanys 1 294 20-11-23, 04:33 PM
آخر رد: justforit

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


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