منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : البحث في datagridview
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اخواني هذا الكود البحث في dgv بالتعليم على العنصر او التركيز على العنصر
انا مش عاوز كده انا عاوز لما ابحث يحذف الى مش متوافق مع كلمة البحث ويخلي المتوافق ففط (يعني من الاخر زي البحث بجملة select بتظهر النتائج المتوافقه فقط)
فارجو التعديل على الكود او اي طريقة اخرى
كود :
       On Error Resume Next
       DGV1.ClearSelection()
       For I As Integer = 0 To DGV1.Rows.Count - 1
           If DGV1.Rows(I).Cells(0).Value.ToString.Contains(TextBoxX1.Text) Then
               DGV1.Rows(I).Selected = True
               DGV1.FirstDisplayedScrollingRowIndex = I
               Exit For
           End If
       Next
PHP كود :
For As Integer DGV1.Rows.Count - If(DGV1.AllowUserToAddRows21To 0 Step -1
    
If Not DGV1.Rows(I).Cells(0).Value.ToString.Contains(TextBoxX1.TextThen DGV1.Rows.RemoveAt(I)
Next 
(30-10-17, 10:46 PM)a.ahmed كتب : [ -> ]
PHP كود :
For As Integer DGV1.Rows.Count - If(DGV1.AllowUserToAddRows21To 0 Step -1
    If Not DGV1
.Rows(I).Cells(0).Value.ToString.Contains(TextBoxX1.TextThen DGV1.Rows.RemoveAt(I)
Next 

الف شكر اخي الكريم . بس في حاجة ناقصة وهي مهمة جدا 
هنا بيمسح فقط يعني لا رجوع الى المحتوى الاصلي 
بمعنى انا لو مسحت كلمة البحث بعد البحث لن يرجع العناصر الموجودة في dgv مرة اخرة
الحل ان تعيد التحميل من مصدر البيانات

PHP كود :
Public Class Form1
    Private Sub gd
()
 
       Me.DataGridView1.Rows.Clear()
 
       Me.DataGridView1.Rows.Add("سعود""123")
 
       Me.DataGridView1.Rows.Add("سعد""321")
 
       Me.DataGridView1.Rows.Add("مسعود""312")
 
   End Sub
    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        gd
()
 
   End Sub
    Private Sub TextBox1_KeyDown
(sender As ObjectAs KeyEventArgsHandles TextBox1.KeyDown
        If e
.KeyData Keys.Enter Then
            If TextBox1
.Text.Trim "" Then
                gd
()
 
           Else
                For r 
As Integer 0 To Me.DataGridView1.Rows.Count IIf(DataGridView1.AllowUserToAddRows21)
 
                   If Not (Me.DataGridView1.Rows(r).Cells(0).Value.ToString TextBox1.TextThen
                        Me
.DataGridView1.Rows(r).Visible False
                    Else
                        Me
.DataGridView1.Rows(r).Visible True
                    End 
If
 
               Next
            End 
If
 
       End If
 
   End Sub
End 
Class 
(31-10-17, 03:00 AM)سعود كتب : [ -> ]الحل ان تعيد التحميل من مصدر البيانات

PHP كود :
Public Class Form1
    Private Sub gd
()
 
       Me.DataGridView1.Rows.Clear()
 
       Me.DataGridView1.Rows.Add("سعود""123")
 
       Me.DataGridView1.Rows.Add("سعد""321")
 
       Me.DataGridView1.Rows.Add("مسعود""312")
 
   End Sub
    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        gd
()
 
   End Sub
    Private Sub TextBox1_KeyDown
(sender As ObjectAs KeyEventArgsHandles TextBox1.KeyDown
        If e
.KeyData Keys.Enter Then
            If TextBox1
.Text.Trim "" Then
                gd
()
 
           Else
                For r 
As Integer 0 To Me.DataGridView1.Rows.Count IIf(DataGridView1.AllowUserToAddRows21)
 
                   If Not (Me.DataGridView1.Rows(r).Cells(0).Value.ToString TextBox1.TextThen
                        Me
.DataGridView1.Rows(r).Visible False
                    Else
                        Me
.DataGridView1.Rows(r).Visible True
                    End 
If
 
               Next
            End 
If
 
       End If
 
   End Sub
End 
Class 
شكرا اخي على الرد 
انا عملت نفس الفكرة لكن قابلتني مشكة وهي عند الرجوع الى مصدر البيانات الى هي محملة في متغير من نوع datatable 
برجعها مرة واحد فقط لا ادري فين المشكة رغم اني عامله على مستوى الفورم ولكن بيسند المعلومات للداتا قريد فيو مرة واحدة
If textbox1.text<>"" then
كود البحث
Else
Dgv1.datasours=dt

لو تخدمني ازاي اخلي المتغير محتفظ ببياناته حتى غلق الورم مثل