تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] البحث في listview
#1
السلام عليكم احبابي في الله
عندي سؤال بسيط 
اريد البحث في listview عن طريق textchanged
كلما كتبت حرف يظهر لي النتائج و اذا حذفت ما كتبته عادت listview كما كانت
كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Read_m3u()
   End Sub
   Sub Read_m3u()

       Dim Lines As String() = IO.File.ReadAllLines("trakktour.m3u")
       Dim dt As New DataTable

       Dim row(1) As String

       For i As Integer = 0 To Lines.Length - 1
           Dim line As String = Lines(i).ToString.Trim
           If line.StartsWith("#EXTINF") Then
               row(0) = line.Split(",")(1)
           ElseIf line.StartsWith("http://") Then
               row(1) = line.Trim
               Dim a As ListViewItem
               a = ListView1.Items.Add(row(0))
               a.SubItems.Add(row(1))
           End If
       Next
   End Sub
الرد
تم الشكر بواسطة:
#2
جرب هذا
كود :
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
   Read_m3u()
End Sub


' متغير للإحتفاظ بالعناصر الأصلية كاملة
Dim originalItems As New List(Of ListViewItem)
Private Sub Read_m3u()

   ' قراءة الملف على شكل مصفوفة نصية
   Dim Lines As String() = IO.File.ReadAllLines("trakktour.m3u")

   Dim row(1) As String

   ' تعبئة متغير العناصر الأصلية كاملة
   For Each line As String In Lines
       If line.Trim.StartsWith("#EXTINF") Then
           row(0) = line.Split(",")(1)

       ElseIf line.Trim.StartsWith("http://") Then
           row(1) = line.Trim
           originalItems.Add(New ListViewItem(row))
       End If
   Next

   ' عرض العناصر من  متغير العناصر الأصلية كاملة
   Me.ListView1.Items.AddRange(originalItems.ToArray)

End Sub


' متغير لوضع العناصر الناتجة من البحث
Dim resultItems As New List(Of ListViewItem)
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.TextChanged

   ' إفراغ متغير العناصر الناتجة استعداداً لوضع نتائج بحث جديدة
   resultItems.Clear()

   ' تعبئة متغير العناصر الناتجة من البحث
   For Each itm As ListViewItem In originalItems

       ' Equals مطابقة كامل النص
       'If itm.SubItems(0).Text.Trim.ToLower.Equals(Me.TextBox1.Text.Trim.ToLower) Then resultItems.Add(itm)

       ' Contains مطابقة أي جزء من النص
       If itm.SubItems(0).Text.Trim.ToLower.Contains(Me.TextBox1.Text.Trim.ToLower) Then resultItems.Add(itm)

       ' ToLower تحويل النص إلى الأحرف الصغيرة
       ' Trim حذف المسافات قبل وبعد النص
   Next

   ' إفراغ أدات الليست فيو من العناصر استعداداً لعرض عناصر حسب النتيجة
   Me.ListView1.Items.Clear()

   If TextBox1.Text.Trim <> "" Then
       ' عرض العناصر الناتجة من البحث
       Me.ListView1.Items.AddRange(resultItems.ToArray)

   Else
       ' عرض العناصر الأصلية كاملة
       Me.ListView1.Items.AddRange(originalItems.ToArray)

   End If

End Sub
الرد
تم الشكر بواسطة: trakktour , ابو روضة
#3
(02-10-18, 01:23 AM)rnmr كتب : جرب هذا
كود :
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
   Read_m3u()
End Sub


' متغير للإحتفاظ بالعناصر الأصلية كاملة
Dim originalItems As New List(Of ListViewItem)
Private Sub Read_m3u()

   ' قراءة الملف على شكل مصفوفة نصية
   Dim Lines As String() = IO.File.ReadAllLines("trakktour.m3u")

   Dim row(1) As String

   ' تعبئة متغير العناصر الأصلية كاملة
   For Each line As String In Lines
       If line.Trim.StartsWith("#EXTINF") Then
           row(0) = line.Split(",")(1)

       ElseIf line.Trim.StartsWith("http://") Then
           row(1) = line.Trim
           originalItems.Add(New ListViewItem(row))
       End If
   Next

   ' عرض العناصر من  متغير العناصر الأصلية كاملة
   Me.ListView1.Items.AddRange(originalItems.ToArray)

End Sub


' متغير لوضع العناصر الناتجة من البحث
Dim resultItems As New List(Of ListViewItem)
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.TextChanged

   ' إفراغ متغير العناصر الناتجة استعداداً لوضع نتائج بحث جديدة
   resultItems.Clear()

   ' تعبئة متغير العناصر الناتجة من البحث
   For Each itm As ListViewItem In originalItems

       ' Equals مطابقة كامل النص
       'If itm.SubItems(0).Text.Trim.ToLower.Equals(Me.TextBox1.Text.Trim.ToLower) Then resultItems.Add(itm)

       ' Contains مطابقة أي جزء من النص
       If itm.SubItems(0).Text.Trim.ToLower.Contains(Me.TextBox1.Text.Trim.ToLower) Then resultItems.Add(itm)

       ' ToLower تحويل النص إلى الأحرف الصغيرة
       ' Trim حذف المسافات قبل وبعد النص
   Next

   ' إفراغ أدات الليست فيو من العناصر استعداداً لعرض عناصر حسب النتيجة
   Me.ListView1.Items.Clear()

   If TextBox1.Text.Trim <> "" Then
       ' عرض العناصر الناتجة من البحث
       Me.ListView1.Items.AddRange(resultItems.ToArray)

   Else
       ' عرض العناصر الأصلية كاملة
       Me.ListView1.Items.AddRange(originalItems.ToArray)

   End If

End Sub
الله الله عليك يا فنان الف شكر اخي الغالي 
شغاااال و ب امتياز
الرد
تم الشكر بواسطة: rnmr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ما هو كود البحث عن تاريخ باستخدام datetimepicker فى sql server كود vb.net vb2010 2 57 أمس, 04:29 PM
آخر رد: ابو يوسف النواوي 2
  البحث عن يوم في قاعدة البيانات atefkhalf2004 2 89 16-10-18, 09:18 PM
آخر رد: WAEL ABED
  استفسار عن البحث في مجلد في جهاز أخر بالشبكة المحلية أبووسم 4 124 13-10-18, 04:35 AM
آخر رد: حريف برمجة
  توقف كود البحث باستخدام في الصندوق النصي بناءًا على شرط Hazem1 5 112 06-10-18, 02:01 AM
آخر رد: rnmr
  [سؤال] إستفسار عن البحث في حقول تم تشفيرها princelovelorn 7 125 03-10-18, 07:58 PM
آخر رد: princelovelorn
  [VB.NET] سؤال حول listview trakktour 3 128 30-09-18, 02:55 AM
آخر رد: ابراهيم ايبو
  البحث في الداتاقريدفيو المتألق9 3 190 29-09-18, 03:35 PM
آخر رد: اسامه الهرماوي
  عملية البحث باستخدام أكثر من Combobox بستخدام تقنية LINQ FatmaAli 2 127 27-09-18, 02:13 PM
آخر رد: FatmaAli
  يُرجى شرح سطر البحث التالي في الداتاجريدفيو Hazem1 7 150 25-09-18, 11:41 PM
آخر رد: elgokr
  [VB.NET] استفسار :- البحث في صفحة html dubai.eig 0 92 24-09-18, 10:42 PM
آخر رد: dubai.eig

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


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