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

نسخة كاملة : البحث الذكي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كانت هناك مشاركة سابقة بالسؤال التالي
مثال على ذلك لو احتوى العمود على اسم ( محمد عبدالله خالد) فاريد عند البحث عن هذا الاسم بمجرد كتابة ( محمد خالد ) بدون كتابة ( عبد الله ) ان يظهر الاسم كامل
وقد تم كتابة الكود ادناه الذي لم يعمل معي ، لو تتكرموا بعمل برنامج مصغر يقوم بذلك
كود :
Dim strALL As String = ""
        Dim str() As String = TextBox1.Text.Split(" ")
        For i = 0 To str.Length - 1
            If i = 0 Then strALL += "Name1 Like '*" + str(i) + "*' "

            strALL += " And Name1 Like '*" + str(i) + "*' "
        Next

        Dim result As DataRow() = DataGridView1.Select(strALL)
        ' إنشاء جدول جديد لعرض النتائج
        Dim resultTable As DataTable = DataGridView1.Clone()
        For Each row As DataRow In result
            resultTable.Rows.Add(row.ItemArray)
        Next
        ' تعيين المصدر الخاص بDataGridView ليكون النتيجة
        DataGridView1.DataSource = resultTable
حاولت كتابة الكود التالي لكنه لم يعمل

conn.Open()
Dim DT As New DataTable
Dim da As New SqlDataAdapter
DT.Clear()

Dim strALL As String = ""
Dim str() As String = TextBox1.Text.Split(" ")

For i = 0 To str.Length - 1
da = New SqlDataAdapter("select * from table1 where name1 like '*" + str(i) + "*' ", conn)

Next

da.Fill(DT)
DataGridView4.AutoGenerateColumns = False
DataGridView4.DataSource = DT
conn.Close()
الرجاء التعديل على الكود حيث ان table1 اسم الجدول name1 اسم الحقل و textbox1 هو تكست البحث
حيث ان الخطاء في الكود اعلاه في الاسطر التالية
Dim result As DataRow() = DataGridView1.Select(strALL)
' إنشاء جدول جديد لعرض النتائج
Dim resultTable As DataTable = DataGridView1.Clone()
For Each row As DataRow In result
resultTable.Rows.Add(row.ItemArray)
Next
' تعيين المصدر الخاص بDataGridView ليكون النتيجة
DataGridView1.DataSource = resultTable
خذ الصف اولا في متغير ثم ابحث باستخدام خاصية contains

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