تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] كيف يتم البحث فى ليست فيو موجودة فى فورم اخر
#1
vb.net
كيف يتم البحث فى ليست فيو موجودة فى فورم اخر
لدى فنشكن للبحث ويبحث بنجاح فى نفس الفورم ولكن مش شغال عند البحث من فورم اخر

الكود
Public Sub SearchTextInListView(ByVal text As String, ByVal lstSource As ListView, Optional ByVal SubItemsN As Integer = 0)
Static unList As New ListView
Static lastRearch As String = ""
Dim item1 As ListViewItem = Nothing

If lastRearch = text Then
Return
Else
lastRearch = text
End If

Dim Index As Integer = 0
While Index < lstSource.Items.Count
lstSource.Invoke(Sub() item1 = lstSource.Items(Index))

If item1.SubItems(SubItemsN).Text.ToLower().Contains(text.ToLower()) = False Then
Index -= 1
'lstSource.Invoke(Sub() lstSource.Items.Remove(item))
lstSource.Invoke(Sub()
lstSource.BeginUpdate()
lstSource.Items.Remove(item1)
lstSource.EndUpdate()
End Sub)


If unList.Items.Contains(item1) = False Then
unList.Items.Add(item1)
End If
End If
Index += 1
End While

Dim index2 As Integer = 0
Dim cItem As ListViewItem
While index2 < unList.Items.Count
cItem = unList.Items(index2)
If cItem.SubItems(SubItemsN).Text.ToLower().Contains(text.ToLower()) Then
index2 -= 1
unList.Items.Remove(cItem)

'lstSource.Invoke(Sub() lstSource.Items.Add(cItem))
lstSource.Invoke(Sub()
lstSource.BeginUpdate()
lstSource.Items.Add(cItem)
lstSource.EndUpdate()
End Sub)
End If
index2 += 1
End While

End Sub
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم

هذا الفنكشن يطلب بارامترات وهي text وlstSource [واختياري SubItemsN]
فجرب عند استدعاء هذا الفنكشن أن تكتب اسم الفورم قبل اسم اسم الليست فيو للبارامتر lstSource
الرد }}}
تم الشكر بواسطة: الماجيك مسعد
#3
عملت كدا والله يا غالى
ولكن دون جدوى
Dim num As Integer = ComboBox1.SelectedIndex - 1
SearchTextInListView(tgsearch.Text, frm_fb_id_filter.ListView1, num)
الرد }}}
تم الشكر بواسطة:
#4
مثل هذا الكود
كود :
SearchTextInListView("abc", Form2.ListView1, 0)

ضع مشروع لإيجاد الكود المناسب

بسبب عدم وجود شرح في أكواد الفنكشن،
ما وظيفة الفنكشن؟
الرد }}}
تم الشكر بواسطة:
#5
كما وضحت فى طلبي ان الفنكشن للبحث فى الليست فيو

السؤال ليس بحاجة لمشروع

+ انى وضعت فنكشن البحث

وضحت المشكلة
كل المطلوب هو كيفية البحث من فورم اخر

+ البحث شغال لو فى نفس الفورم لكن لو فورم اخر مش بيشتغل
الرد }}}
تم الشكر بواسطة:
#6
جربته على فورم آخر ويعمل، وجزاك الله خير على ردك.

مساعدتي صدقة لوجه الله تعالى.
الرد }}}
تم الشكر بواسطة: الماجيك مسعد
#7
هل جربت من فورم اخر واشتغل معاك؟

الكود شغال لو بحثت فى نفس الفورم لكن من فورم اخر لا يحدث شئ
الرد }}}
تم الشكر بواسطة:
#8
قمت بتجربته على ليست فيو في فورم آخر ونجح.

ملاحظة: لم أجد في عمله فرقاً عن هذا الكود
كود :
Public Sub SearchTextInListView(ByVal text As String, ByVal lstSource As ListView, Optional ByVal SubItemsN As Integer = 0)
    For Each item As ListViewItem In lstSource.Items
        If Not item.SubItems(SubItemsN).Text.ToLower().Contains(text.ToLower()) Then item.Remove()
    Next
End Sub

لهذا طلبت منك مشروع لأعرف كيف قمت باستدعائه، والله لا أريد جزاءً ولا شكورا، وإنما مساعدة صدقة لوجه الله تعالى.
الرد }}}
تم الشكر بواسطة:
#9
ههههه اعذرنى اخى
لم اقصد ما تفهمه

ولكن مشروعى كبير
بحجم 31 ميجا

والنت عندى 512 لذلك صعب ارفع المشروع عشان مشكلة صغيرة

انا خلاص هتجنن وربنا بسبب المشكلة دى
الرد }}}
تم الشكر بواسطة:
#10
لتطبيق الفنكشن يجب أن يكون الفورم الأخر ظاهر باستخدم Show مثل هذا الكود
كود :
frm_fb_id_filter.Show()
Dim num As Integer = ComboBox1.SelectedIndex - 1
SearchTextInListView(tgsearch.Text, frm_fb_id_filter.ListView1, num)
الرد }}}
تم الشكر بواسطة:



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


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