Фильтрация ComboBox (C#)
От: Airog Украина  
Дата: 13.02.13 18:00
Оценка:
Есть код типа такого:

ComboBox cb;
cb.ValueMember = "Id";
cb.DisplayMember = "Name";
BindingSource bs = new BindingSource();
bs.DataSource = GetMyTable();
cb.DataSource = bs;


т. е. заполняю список данными через BindingSource

в событии обновления Text делаю фильтрацию:

bs.Filter = "Name='*" + cb.Text + "*'";


т. е. мне нужно чтобы в списке отображались только те строки внутри которых есть то, что ввел юзер в списке.
Но проблема в том что после изменения фильтра автоматически в текстовое поле списка ложится 1-е значение
списка, которое получится после фильтрации, т. е. затирается, то что ввел юзер, в результате вся схема
ломается.

Как можно это исправить? Или может есть другие способы?

П.С. про AutoComplete я в курсе, и в моем случае не подходит, так как там фильтрация идет по начальным
символам, а мне нужны строки содержащие введенный юзером текст
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.