تقييم الموضوع :
  • 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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] استفسار بخصوص البحث في RichTextBox SerialPort dubai.eig 2 660 18-06-25, 11:09 AM
آخر رد: dubai.eig
  [VB.NET] عكس العرض على ListView aminesori 3 378 25-11-24, 12:42 AM
آخر رد: aminesori
  [VB.NET] القراءة من ملف txt واضافته في Listview aminesori 4 531 19-10-24, 03:53 PM
آخر رد: salamandal
Rainbow [كود] البحث تلقائياً عند التبديل بين الـ RadioButton محمد مسافر 8 690 04-10-24, 02:33 AM
آخر رد: Taha Okla
Rainbow [كود] البحث وتحريك اسهم الداتا جريدفيو عند البحث محمد مسافر 2 577 19-09-24, 01:14 AM
آخر رد: محمد مسافر
  مساعدة البحث بين تاريخين أبووسم 3 540 16-08-24, 01:37 PM
آخر رد: أبووسم
  البحث بالأسم الأول فقط heem1986 6 624 03-08-24, 04:17 PM
آخر رد: heem1986
  [VB.NET] تجاهل التشكيل من الأسماء عند البحث في التيكست بوكس Khalil chiha 3 525 01-08-24, 10:28 PM
آخر رد: Khalil chiha
  يوجد خطاء فى كود البحث بواستطة الكمبوبوكس واجراء مخزن new_programer 4 400 06-07-24, 12:05 AM
آخر رد: Zuhare
  البحث بين تاريخين مع الوقت - من بداية اليوم - حتى اخر اليوم moh61 3 599 12-06-24, 08:00 PM
آخر رد: Taha Okla

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


يقوم بقرائة الموضوع: