تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] استفسار في التيكست بوكس
#1
بسم الله الرحمن الرحيم 
-----------------------------------------
عندي استفسار داخل اداة التيكست بوكس وهو اني اريد عمل هذه الاداة كنوع من البحث بمعني

اني اريد عندما اكتب في الاداة حرف B يظهر لي جميع ال Iteam التي تحتوي علي حرف B داخل اداة الليست بوكس 

المثال في الصور واحب ان
---------------------------------------------------
اوضع اكثر انا عندي مثلا اكثر من 300 Iteam في الليست بوكس واريد تسهيل عملية الحصول عليه 

فاريد عندما اكتب حرف B مثلا يحذف الليست بوكس جميع Iteam التي لايبدء اولها بي حرف B وعندما اشيله يرجع الليست بوكس الي اصله 




الرد }}}
تم الشكر بواسطة:
#2
(22-05-16, 06:09 PM)amgad525 كتب :
PHP كود :
Public Class Form1

    Dim dt 
As New DataTable()

 
   Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        dt
.Columns.AddRange(New DataColumn() {New DataColumn("Display"), New DataColumn("Value")})

 
       Dim wc As New Net.WebClient() With {.Encoding System.Text.Encoding.UTF8}
 
       Dim src As String wc.DownloadString("http://arab-live.ucoz.net/Test.txt")

 
       For Each str As String In src.Split(vbLf)
 
           Dim splt() = Split(str",")
 
           Dim r As DataRow dt.NewRow
            If splt
.Count 0 Then r.Item("Display") = splt(0) Else r.Item("Value") = ""
 
           If splt.Count 1 Then r.Item("Value") = splt(1) Else r.Item("Value") = ""
 
           dt.Rows.Add(r)
 
       Next

        Me
.ListBox1.DataSource dt
        Me
.ListBox1.DisplayMember "Display"
 
       Me.ListBox1.ValueMember "Value"
 
       Me.ListBox1.SelectedIndex = -1

    End Sub


    Dim hold 
As Boolean

    Private Sub TextBox1_TextChanged
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles TextBox1.TextChanged
        hold 
True

        Dim q 
As IEnumerable(Of DataRow) = (From x As DataRow In dt Where x.Item("Display").ToString.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower))

 
       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 Sub ListBox1_SelectedIndexChanged
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles ListBox1.SelectedIndexChanged
        If hold Then 
Exit Sub
        Try
            Dim s 
As String Me.ListBox1.SelectedValue
            If s 
<> "" Then Process.Start(s)
 
       Catch ex As Exception
        End 
Try
 
   End Sub

End 
Class 

linq Smile
الرد }}}
تم الشكر بواسطة: الوادي
#3
(22-05-16, 09:26 PM)%Eman% كتب :
(22-05-16, 06:09 PM)amgad525 كتب :
PHP كود :
Public Class Form1

    Dim dt 
As New DataTable()

 
   Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        dt
.Columns.AddRange(New DataColumn() {New DataColumn("Display"), New DataColumn("Value")})

 
       Dim wc As New Net.WebClient() With {.Encoding System.Text.Encoding.UTF8}
 
       Dim src As String wc.DownloadString("http://arab-live.ucoz.net/Test.txt")

 
       For Each str As String In src.Split(vbLf)
 
           Dim splt() = Split(str",")
 
           Dim r As DataRow dt.NewRow
            If splt
.Count 0 Then r.Item("Display") = splt(0) Else r.Item("Value") = ""
 
           If splt.Count 1 Then r.Item("Value") = splt(1) Else r.Item("Value") = ""
 
           dt.Rows.Add(r)
 
       Next

        Me
.ListBox1.DataSource dt
        Me
.ListBox1.DisplayMember "Display"
 
       Me.ListBox1.ValueMember "Value"
 
       Me.ListBox1.SelectedIndex = -1

    End Sub


    Dim hold 
As Boolean

    Private Sub TextBox1_TextChanged
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles TextBox1.TextChanged
        hold 
True

        Dim q 
As IEnumerable(Of DataRow) = (From x As DataRow In dt Where x.Item("Display").ToString.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower))

 
       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 Sub ListBox1_SelectedIndexChanged
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles ListBox1.SelectedIndexChanged
        If hold Then 
Exit Sub
        Try
            Dim s 
As String Me.ListBox1.SelectedValue
            If s 
<> "" Then Process.Start(s)
 
       Catch ex As Exception
        End 
Try
 
   End Sub

End 
Class 

linq Smile
مش ده طلبي
الرد }}}
تم الشكر بواسطة:
#4
ياخي افهمني مش طلبي ده اقرء المكتوب كويس
الرد }}}
تم الشكر بواسطة:
#5
ياجماعة حدا يساعدني في حل هذه المشكلة
الرد }}}
تم الشكر بواسطة:
#6
جرب الكود ده قولى النتيجة


Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

Dim items = From it In ListBox1.Items.Cast(Of Object)()
Where it.ToString().IndexOf(TextBox1.Text, StringComparison.CurrentCultureIgnoreCase) >= 0
Dim matchingItemList As List(Of Object) = items.ToList()
ListBox1.BeginUpdate()
ListBox1.Items.Clear()
For Each item In matchingItemList
ListBox1.Items.Add(item)
Next
ListBox1.EndUpdate()

End Sub
الرد }}}
تم الشكر بواسطة: amgad525
#7
PHP كود :
Private Sub TextBox1_TextChanged(ByVal sender As ObjectByVal e As EventArgsHandles TextBox1.TextChanged
    
Static myList As Array
    If 
IsNothing(myListThen myList Me.ListBox1.Items.OfType(Of String).ToArray
    Me
.ListBox1.Items.Clear()
    
Me.ListBox1.Items.AddRange((From x As String In myList Where x.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower)).ToArray)
End Sub 
الرد }}}
تم الشكر بواسطة: عبدالرحمن المكاوي
#8
(23-05-16, 12:05 PM)amgad525 كتب :
PHP كود :
Private Sub TextBox1_TextChanged(ByVal sender As ObjectByVal e As EventArgsHandles TextBox1.TextChanged
    Static myList 
As Array
 
   If IsNothing(myListThen myList Me.ListBox1.Items.OfType(Of String).ToArray
    Me
.ListBox1.Items.Clear()
 
   Me.ListBox1.Items.AddRange((From x As String In myList Where x.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower)).ToArray)
End Sub 
شكرا شكرا علي مجهوداتك الكود اشتغل تمام

(24-05-16, 12:21 PM)عبدالرحمن المكاوي كتب :
(23-05-16, 12:05 PM)amgad525 كتب :
PHP كود :
Private Sub TextBox1_TextChanged(ByVal sender As ObjectByVal e As EventArgsHandles TextBox1.TextChanged
    Static myList 
As Array
 
   If IsNothing(myListThen myList Me.ListBox1.Items.OfType(Of String).ToArray
    Me
.ListBox1.Items.Clear()
 
   Me.ListBox1.Items.AddRange((From x As String In myList Where x.ToLower.StartsWith(Me.TextBox1.Text.Trim.ToLower)).ToArray)
End Sub 
شكرا شكرا علي مجهوداتك الكود اشتغل تمام
لكن عن ربط البرنامج بقاعدة داتا سورس وكتابت اي حرف انظر ماذا يحدث
الرد }}}
تم الشكر بواسطة:
#9
المرجو حل في اسرع وقت
الرد }}}
تم الشكر بواسطة:
#10
(24-05-16, 03:39 PM)عبدالرحمن المكاوي كتب : المرجو حل في اسرع وقت

قم بالغاء ارتباط الليست بوكس بالداتاسورس قبل  تنظيف محتويات الليست بوكس.
الرد }}}
تم الشكر بواسطة:



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


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