WPF autocomplet i filtrowanie wyników

0

Witam!
Stworzyłem comboboxa zapełnianego przez bazę danych.
Jednak mam bardzo dużo wpisów, chciał bym więc zawsze wyświetlać 10-15 wyników.
W jaki sposób filtrować za informacje wyświetlane w comboboxie, tak abym po wpisaniu np 123 otrzymał wyniki:
np:
123
9123
a123
aaa123
zz123
itd..?
Z góry dziękuje za pomoc
Pozdrawiam

0

może: http://stackoverflow.com/questions/2602252/mysql-query-string-contains ?
jeśli trzymasz gdzieś już te wyniki (np w List) to przeleć foreach i jeśli zawiera wpisany ciąg znaków to dodaj jako item do comboboxa

0

No, dobrze, wiem jak uzupełnić dane, jednak jak spowodować, żeby użytkownik mógł wpisywać tekst do filtrowania?

0

Możesz użyć też biblioteki: http://www.codeproject.com/Articles/293954/AutoSuggest-and-AutoComplete-control-in-WPF i zobaczyć jak to działa.

0

Może ustawić właściwość IsEditable dla kontrolki ComboBox na true. Ustawić obsługę zdarzenia TextBoxBase.TextChanged, a tam wprowadzić filtrowanie danych (po każdej wprowadzonej literce nastąpi wywołanie takiego zdarzenia - dla 20-30 rekordów działa to momentalnie, dla większej ilości nie sprawdzałem).

<ComboBox x:Name="_comboBox_db" IsEditable="True" TextBoxBase.TextChanged="_comboBox_db_textchanged" ItemsSource={Binding SprawdzanaKolumna} />
private void _comboBox_db_textchanged(...)
{
...
list = from OBIEKT ob in  BazaDanych.ListaObiektow
where ob.SprawdzanaKolumna.Contains(_comboBox_db.Text)
select ob.SprawdzanaKolumna;
_comboBox_db.ItemsSource = list;
...
}
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1