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

نسخة كاملة : حل مشكلة في التيكست بوكس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم
-------------------------------
لديه مشكلة في اداة التيكست بوكس وهي انني قمت ببرمجة كود يقوم بتصفية او عملية بحث داخل اليست بوكس
بمعني انني لديه اكثر من 300 عنصر في اداة التيسكت بوكس فانا ساستخدم اداة التيسكت بوكس لتسهل علي المستخدم
البحث عن العنصر المراد البحث عنه
مثال بسيط اذ كان لديه العناصر التالية في اداة الليست بوكس
mohmaed
abdo
mohamud
amr
عندما اضع حرف m في التيسكت بوكس يختفي من الليست بوكس abdo , amr
ويبقي الباقي وعندما امسح m يعود اليست بوكس الي عناصره الكاملة
اريد تعديل هذا الكود بما سبق وقلته وشكرا لكم

PHP كود :
   Private Sub TextBox1_TextChanged(ByVal sender As ObjectByVal e As EventArgsHandles TextBox2.TextChanged
        Dim q 
As IEnumerable(Of DataRow) = (From x As DataRow In dt Where x.Item("Display").ToString.ToLower.StartsWith(Me.TextBox2.Text.Trim.ToLower))
 
       hold True
        Me
.ListBox1.DataSource = If(q.Count 0Nothingq.CopyToDataTable)
 
       Me.ListBox1.DisplayMember "Display"
 
       Me.ListBox1.ValueMember "Value"
 
       Me.ListBox1.SelectedIndex = -1
        hold 
False
    End Sub 
السلام عليكم

جرب هذا التعديل
كود :
Private items() As String

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    items = (From x As String In ListBox1.Items).ToArray
End Sub

Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.TextChanged
    Me.ListBox1.Items.Clear()
    Dim txt As String = Me.TextBox1.Text.Trim.ToLower
    If TextBox1.Text.Trim = "" Then
        Me.ListBox1.Items.AddRange(items)
    Else
        Dim q = (From x As String In items Where x.ToLower.StartsWith(txt)).ToArray
        Me.ListBox1.Items.AddRange(q)
    End If
End Sub
جميع كلمات "items" بها مشكلة
جوابي على اساس مفهوم كلامك ان الليست بكس ليست مربوطة بالداتابيز.
(04-02-17, 12:32 AM)khodor1985 كتب : [ -> ]السلام عليكم أخي العزيز ورحمة الله وبركاته
هل تريد البحث عن الإسم في الـ ListBox من خلال TextBox، هل هذا ما تريد؟
أما بالنسبة لظهور القيم التي تبدأ بحرف m في القائمة ذلك يعود للأداة StartsWith.

نعم اريد هذا وايضا الكود المكتوب اعلاه الذي وضعته انا كان يعمل ويعمل فترات واخري لا ما المشكل به
(04-02-17, 12:36 AM)مساعدة كتب : [ -> ]جوابي على اساس مفهوم كلامك ان الليست بكس ليست مربوطة بالداتابيز.

لا اخي اليست مربوط بقاعدة بيانات
اين اصحاب الخبرة