البحث في listview - trakktour - 01-10-18
السلام عليكم احبابي في الله
عندي سؤال بسيط
اريد البحث في 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
RE: البحث في listview - rnmr - 02-10-18
جرب هذا
كود :
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
RE: البحث في listview - trakktour - 02-10-18
(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
الله الله عليك يا فنان الف شكر اخي الغالي
شغاااال و ب امتياز
|