powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите, как организовать поиск по ListBox при побуквенном вводе.
17 сообщений из 17, страница 1 из 1
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367214
bublik13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ищет только первый раз, при вводе последующих букв - не ищет

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        Dim txt As String
        Dim index As Integer
        Dim lListBox1 As New ListBox()
 
        If ListBox1.SelectedIndex <> -1 Then
            ListBox1.SelectedIndex = -1
        End If
        txt = TextBox1.Text
         If txt <> String.Empty Then
            index = ListBox1.FindString(txt)
            If index <> -1 Then
                ListBox1.SetSelected(index, True)
            End If
        End If
        If index <> -1 Then
            ListBox1.SelectedIndex = index
            ListBox1.SetSelected(index, ListBox1.SelectedIndex)
        End If
    End Sub
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367236
bublik13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотелось бы чтобы оставались только те что соответствуют критерию, а остальные делались не видными пользователю
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367257
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bublik13,
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
myBindingSource.DataSource = массив строк
ListBox.DataSource = myBindingSource;

....

Private Sub TextBox1_TextChanged
myBindingSource.Filter = textbox1.text
    End Sub



Примерно так
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367276
bublik13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а если массив строк из вашего примера это данные из базы? Как это должно выглядеть?
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367292
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bublik13,

myBindingSource.DataSource = myDataTable;
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367306
bublik13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо. Все-таки через DataTable?
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367308
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ еще
ListBox1.DisplayMember = "имя поля таблицы для отображения"
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367325
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
myBindingSource.Filter = "имя_поля_из_таблицы = "+textbox1.Text
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367336
bublik13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а в таблице 1 поле
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367337
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bublik13,

Это же прекрасно!
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367515
bublik13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
myBindingSource.Filter = "Column1=" + txt пишет, не удается найти столбец "И". "И" -это буква которую я набрала для поиска.
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367577
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В кавычки оберни текст

Код: c#
1.
myBindingSource.Filter = "имя_поля_из_таблицы = '"+textbox1.Text+"'"
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367579
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так наверное будет то, что нужно
Код: c#
1.
myBindingSource.Filter = "имя_поля_из_таблицы = '"+textbox1.Text+"%'"
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367604
bublik13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
данное действие проходит, но из лист бокса исчезает набор данных (совсем пустой)
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367617
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bublik13,

вместо '=' впиши ' LIKE '
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367631
bublik13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первая буква проходит, дальше исчезают данные, хотя я знаю, что данные с этими буквами есть
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
[SRC VB]   Private Sub form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dbList As OleDb.OleDbDataReader
        Dim sqlTree As String
        Dim dt As DataTable
        Dim dr As DataRow
        dt = New DataTable("PTable")
        myBindingSource = New BindingSource
         Try
            oApp = New ConMDB()
            sqlTree = "select id, idname from schet_fr order by idname"             'заполняем лист бокс всем, что есть
            dbList = oApp.DB.ExecCommandReader(sqlTree)
            dt.Columns.Add(New DataColumn("", GetType(String)))
            dr = dt.NewRow()
            Do While dbList.Read()
                dr(0) = dbList.GetValue(1)
                dt.Rows.Add(dr)
                dt.AcceptChanges()
                dr = dt.NewRow()
            Loop
            Dim dv As New DataView(dt)
            dv.AllowNew = True
            dv.AllowEdit = True
            dv.AllowDelete = True
            myBindingSource.DataSource = dv
            ListBox1.DataSource = myBindingSource
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Me.TextBox1.Focus()
        TextBox1.Text = ""
        Me.DateTimePicker1.Value = Now.AddDays(-1)
[SRC VB]

End Sub[/SRC][/SRC]


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        Dim txt As String
        Dim index As Integer
        Dim lListBox1 As New ListBox()
          ListBox1.DisplayMember = "Column1"
        txt = TextBox1.Text
        myBindingSource.Filter = "Column1 LIKE '" + txt + "%'"
        ListBox1.DataSource = myBindingSource
         If txt <> String.Empty Then
            index = ListBox1.FindString(txt)
            If index <> -1 Then
                ListBox1.SetSelected(index, True)
            End If
        End If
        If index <> -1 Then
            ListBox1.SelectedIndex = index
            ListBox1.SetSelected(index, ListBox1.SelectedIndex)
        End If
       End Sub
...
Рейтинг: 0 / 0
Подскажите, как организовать поиск по ListBox при побуквенном вводе.
    #38367915
bublik13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, все заработало
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите, как организовать поиск по ListBox при побуквенном вводе.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]