none
Combobox WPF выпадающий список по мере набора RRS feed

  • Вопрос

  • Думаю, этот вопрос уже освещался. Но я не нашел. Есть у меня таблицы куча, данные из которых отоображаются в выпадающем спиское Combobox  WPF. Сейчас объем уже весьма вырос. Хотелось бы сделать так, чтобы не искать глазами, а часть имени набрать и оно искалось. Спасибо.

    Так-с. Пока нашел IsEditable=true;

    Теперь с запросом надо подумать. Так я раньше не делал

    Не получается. Хранимую процедуру сделал. Пытался привязать к PreviewTextInput. Подскажите. пожалуйста. Может, другой обработчик надо воткнуть?

    • Изменено butolin.vik 1 июля 2013 г. 12:51
    1 июля 2013 г. 11:34

Ответы

  • Кроме IsEditable, думаю Вам надо использовать:

    IsTextSearchEnabled = true.

    IsTextSearchEnabled и так по умолчанию включено, насколько я понимаю позволяет передвигать выбор (выделять) в выпадающем списке элемент  в соответствии с набранным текстом, при этом этот список (ItemSource) не сокращается и поиск происходит только в начале текста

    В моем представлении нужно менять ItemSource в соответствии с набранным текстом (фильтром).

    Как это изящно сделать я тоже не нашел.

    Сейчас использую следующее

    IsEditable="True" KeyDown="carIDTextBox_KeyDown"

            private void carIDTextBox_KeyDown(object sender, KeyEventArgs e)
            {
                carIDTextBox.IsDropDownOpen = true;
            }

    вроде как сносно для пользователя.

    12 июля 2013 г. 19:04

Все ответы

  • Здравствуйте,

    Кроме IsEditable, думаю Вам надо использовать:

    IsTextSearchEnabled = true.


    Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение"

    2 июля 2013 г. 10:10
    Модератор
  • Здравствуйте,

    Кроме IsEditable, думаю Вам надо использовать:

    IsTextSearchEnabled = true.


    Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение"

    Пока не могу сказать. Проверю либо вечером, либо завтра. 
    2 июля 2013 г. 10:16
  • Так и не разобрался. 
  • Так и не разобрался. 

    В чем именно?

    Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение"

    3 июля 2013 г. 10:23
    Модератор
  • Так и не разобрался. 


    В чем именно?

    Если вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение"

    ALTER PROCEDURE [dbo].[UsersRead]
    	@NameUsers nvarchar(150)
    
    AS
    	SELECT Users.NameUsers FROM Users WHERE Users.NameUsers like '%@NameUser%'
    RETURN 0
    

    Вот простейшая хранимая процедура. Не могу ее воткнуть в код так, чтобы в combobox по мере набора выпадали соответствующие данные
    3 июля 2013 г. 10:47
  • Кроме IsEditable, думаю Вам надо использовать:

    IsTextSearchEnabled = true.

    IsTextSearchEnabled и так по умолчанию включено, насколько я понимаю позволяет передвигать выбор (выделять) в выпадающем списке элемент  в соответствии с набранным текстом, при этом этот список (ItemSource) не сокращается и поиск происходит только в начале текста

    В моем представлении нужно менять ItemSource в соответствии с набранным текстом (фильтром).

    Как это изящно сделать я тоже не нашел.

    Сейчас использую следующее

    IsEditable="True" KeyDown="carIDTextBox_KeyDown"

            private void carIDTextBox_KeyDown(object sender, KeyEventArgs e)
            {
                carIDTextBox.IsDropDownOpen = true;
            }

    вроде как сносно для пользователя.

    12 июля 2013 г. 19:04