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

نسخة كاملة : ياشباب محتاج كود صغير يقوم بالبحث عن حقل معين فلتر بال Datagridview
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
محتاج كود لعمل فلتر داخل ال datagridview  والبحث عن كلمات معينة داخل الحقول بأسم حقل معين ونفترض اسمه Name  البحث بالاسم داخل الدات قرد فيو علما بأن ال datagridview ليست مربوطه بقاعدة بيانات ولاكنها مبروطه مع ملف اكسيل ارجو المساعدة اخواني لقد توصلت لكود صغير ومحتاج تعديل ارجو المساعدة وجزاكم الله خير
كود :
    Dim searchValue As String = textBox1.Text

    dgvProjects.SelectionMode = DataGridViewSelectionMode.FullRowSelect
    Try
        For Each row As DataGridViewRow In dgvProjects.Rows
            If row.Cells(2).Value.ToString().Equals(searchValue) Then
                row.Selected = True
                Exit For
            End If
        Next
    Catch exc As Exception
        MessageBox.Show(exc.Message)
    End Try

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

اذا كنت تقصد كما في الصورة
فالفترة تكون  للبيانات أولا ثم جعل الجريد تعرض الناتج
مثلا
PHP كود :
Dim Cmd As New OleDbCommand("Select * from Table where Firled like '" textbox1.text "%'",MyCon)
dim Dtab as new DataTable
Dtab
.Load(Cmd.ExecuteReader)
وبعد ذلك نمرر الناتج للجريد فيو كما ترى في الصورة
Datagridview1
.Datasource=dt 

بالتوفيق
اخي العزيز هذا الكود يعمل في حالة الداتا جريد فيو مربوطه مع قاعدة بيانات ... اما المطلوب فلترة لدات جريد فيو مربوطة مع ملف اكسيل وليست داتا بيز وجزاك الله خير
تفضل المثال
PHP كود :
Public Class Form1
    Private Sub TextBox1_KeyDown
(sender As ObjectAs KeyEventArgsHandles TextBox1.KeyDown
        If TextBox1
.Text.Trim "" Then Exit Sub
        If e
.KeyData Keys.Enter Then
            For a 
0 To dg.Rows.Count 2
                Dim t 
As String dg.Rows(a).Cells(0).Value
                If t 
TextBox1.Text Then
                    dg
.CurrentCell dg.Rows(a).Cells(0)
 
                   dg.Rows(a).DefaultCellStyle.BackColor Color.GreenYellow
                    dg
.Rows(a).Selected False
                Else
                    dg
.Rows(a).DefaultCellStyle.BackColor Color.White
                    dg
.Rows(a).Selected False

                End 
If
 
           Next
        End 
If
 
   End Sub

    Private Sub TextBox1_TextChanged
(sender As ObjectAs EventArgsHandles TextBox1.TextChanged

    End Sub

    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        dg
.Rows.Add("سعود""37")
 
       dg.Rows.Add("ناجح""40")
 
       dg.Rows.Add("ماضي""30")
 
   End Sub
End 
Class 
لقطة
أخ سعود طلعت معي هاذي الاخطاء ... مامسميات ال textbox و DataGridView1 تبع المثال السابق

الشي الثاني الله يعطيك العافية بالنسبة للبيانات الموجودة داخل ال DataGridView محمله من ملف Excel خارجي يعني ما ابغاه الحقول تظهر لي من الكود زي كدا

dg.Rows.Add("سعود", "37")
dg.Rows.Add("ناجح", "40")
dg.Rows.Add("ماضي", "30")

ال DataGridView تجي جاهزة بالبيانات بمجرد تحميل ملف ال Excel تنزل عندي البيانات يعني مطلوبه عمليه الفلترة بنفس مثالك السسابق بالظبط بس من غير ما اضيف البيانات من خلال الكود .... فلترة للبيانات الموجودة داخل DataGridView فقط وجزاكم الله جميعا كل خير
إقتباس :أخ سعود طلعت معي هاذي الاخطاء ... مامسميات ال textbox و DataGridView1 تبع المثال السابق
اخي الكريم هذه الاخطاء تظهر في حال النسخ واللصق (وهذه سبقناك لها)
دقق في الكود جيدا واستبدل اللازم.

إقتباس :الشي الثاني الله يعطيك العافية بالنسبة للبيانات الموجودة داخل ال DataGridView محمله من ملف Excel خارجي يعني ما ابغاه الحقول تظهر لي من الكود زي كدا 
اخي الكريم لا عليك من كيفية تعبئة شبيكة البيانات المهم هو كود البحث في الاداة فكود البحث ليس مرتبط بمصدر البيانات.

الـ dg = هي Datagridview غيرت اسمها اختصارا لها.

Textbox1  مربع نص عادي جدا ضمن حدث KeyDown الخاص به ضع الكود:

PHP كود :
 If TextBox1.Text.Trim "" Then Exit Sub
        If e
.KeyData Keys.Enter Then
            For a 
0 To dg.Rows.Count 2
                Dim t 
As String dg.Rows(a).Cells(0).Value
                If t 
TextBox1.Text Then
                    dg
.CurrentCell dg.Rows(a).Cells(0)
 
                   dg.Rows(a).DefaultCellStyle.BackColor Color.GreenYellow
                    dg
.Rows(a).Selected False
                Else
                    dg
.Rows(a).DefaultCellStyle.BackColor Color.White
                    dg
.Rows(a).Selected False

                End 
If
 
           Next
        End 
If 
الصفحات : 1 2