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

نسخة كاملة : البحث داخل listview
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم يا اصدقاء ان شاء الله تكونو بألف خير
عندي listview و اريد البجث داخلها ب استعمال TextChanged
اي عندما اكتب كلمة في textbox يظهري النتائج مباشرة 
و هذا الكود المستعمل في ملئ listview
كود :
       Dim ww = New WebClient().DownloadString("https://pastebin.com/raw/EQScPkvp")
       Dim name As MatchCollection = Regex.Matches(ww, "(?<=""name"":"").+?(?="")")
       For i = 0 To name.Count - 1
           Dim farfour As New ListViewItem
           farfour.Text = name(i).Value
           ListView1.Items.Add(farfour)
       Next
و ربي يحفظكم
وعليكم السلام حياك الله

استخدم الدالة FindStringExact كما في الكود


 
PHP كود :
Private Sub TextBox1_TextChanged(sender As ObjectAs EventArgsHandles TextBox1.TextChanged
        ListBox1
.SelectedIndex ListBox1.FindStringExact(TextBox1.Text)
    End Sub 
(12-11-19, 01:13 PM)علي نوري كتب : [ -> ]وعليكم السلام حياك الله

استخدم الدالة FindStringExact كما في الكود


 
PHP كود :
Private Sub TextBox1_TextChanged(sender As ObjectAs EventArgsHandles TextBox1.TextChanged
        ListBox1
.SelectedIndex ListBox1.FindStringExact(TextBox1.Text)
    End Sub 

اخي انا عندي  listview و ليست listbox
ممكن تعديل بسيط
اريد عند كتابة اول حرف تظهر لي النتائج و شكرااا
اعتذر منك اخي الكريم توقعتها list box

حضرتك تريد استكمال تلقائي بداخل التكست بوكس ؟ ماخوذ من list view صحيح ؟
(12-11-19, 03:19 PM)علي نوري كتب : [ -> ]اعتذر منك اخي الكريم توقعتها list box

حضرتك تريد استكمال تلقائي بداخل التكست بوكس ؟ ماخوذ من list view صحيح ؟

نعم اخي العزيز اريد اضافة textbox و ابحث من خلاله على كلمات داخل listview
مثلا اكتب osn يظهرلي  item الي فيه كلمة osn
تفضل اخي هذا الكود 


PHP كود :
  On Error Resume Next
        Dim ww 
= New WebClient().DownloadString("https://pastebin.com/raw/EQScPkvp")
        Dim name As MatchCollection Regex.Matches(ww"(?<=""name"":"").+?(?="")")
        For 0 To name.Count 1
            Dim farfour 
As New ListViewItem
            farfour
.Text name(i).Value
            ListView1
.Items.Add(farfour)
        Next
        Me
.TextBox1.AutoCompleteCustomSource.AddRange((From x As ListViewItem In Me.ListView1.Items Select x.Text).ToArray)
        Me.TextBox1.AutoCompleteMode AutoCompleteMode.SuggestAppend
        Me
.TextBox1.AutoCompleteSource AutoCompleteSource.CustomSource 




للتوضيح هذا استكمال تلقائي وليس بحث 

 المشروع بالمرفقات
(12-11-19, 03:48 PM)علي نوري كتب : [ -> ]تفضل اخي هذا الكود 


PHP كود :
  On Error Resume Next
        Dim ww 
= New WebClient().DownloadString("https://pastebin.com/raw/EQScPkvp")
        Dim name As MatchCollection Regex.Matches(ww"(?<=""name"":"").+?(?="")")
        For 0 To name.Count 1
            Dim farfour 
As New ListViewItem
            farfour
.Text name(i).Value
            ListView1
.Items.Add(farfour)
        Next
        Me
.TextBox1.AutoCompleteCustomSource.AddRange((From x As ListViewItem In Me.ListView1.Items Select x.Text).ToArray)
        Me.TextBox1.AutoCompleteMode AutoCompleteMode.SuggestAppend
        Me
.TextBox1.AutoCompleteSource AutoCompleteSource.CustomSource 




للتوضيح هذا استكمال تلقائي وليس بحث 

 المشروع بالمرفقات

اخي الكريم لو تعدل عليه قليلا
اريد عند البحث يظهر في listview فقط نتائج البحث
يعني اكتب osn 
يهظهر في listview نتائج osn فقط و ربي يحفظك
السلام عليكم ورحمة الله وبركاته


كود :
Dim lst As New ListView
   Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
       ListView1.Items.Clear()
       For Each item As ListViewItem In lst.Items
           If item.Text.Contains(TextBox1.Text) Then
               ListView1.Items.Add(item.Text)
           End If
       Next
   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim ww = New WebClient().DownloadString("https://pastebin.com/raw/EQScPkvp")
       Dim name As MatchCollection = Regex.Matches(ww, "(?<=""name"":"").+?(?="")")
       For i = 0 To name.Count - 1
           Dim farfour As New ListViewItem
           farfour.Text = name(i).Value
           ListView1.Items.Add(farfour)
       Next
       For Each item As ListViewItem In ListView1.Items
           lst.Items.Add(item.Text)
       Next
   End Sub
(12-11-19, 05:08 PM)3booody كتب : [ -> ]السلام عليكم ورحمة الله وبركاته


كود :
Dim lst As New ListView
   Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
       ListView1.Items.Clear()
       For Each item As ListViewItem In lst.Items
           If item.Text.Contains(TextBox1.Text) Then
               ListView1.Items.Add(item.Text)
           End If
       Next
   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim ww = New WebClient().DownloadString("https://pastebin.com/raw/EQScPkvp")
       Dim name As MatchCollection = Regex.Matches(ww, "(?<=""name"":"").+?(?="")")
       For i = 0 To name.Count - 1
           Dim farfour As New ListViewItem
           farfour.Text = name(i).Value
           ListView1.Items.Add(farfour)
       Next
       For Each item As ListViewItem In ListView1.Items
           lst.Items.Add(item.Text)
       Next
   End Sub

شكراا اخي الكريم ربي يجعلها في ميزان حسناتك