2016-11-18 4 views
1

Я хотел бы знать, есть ли способ создать динамически автозаполнение текстового поля с динамическими данными из базы данных?Autocomplete textbox winforms

Что-то вроде jQuery/ajax в ASP.NET?

Благодаря

ответ

0

Сначала создайте AutoCompleteStringCollection добавить собственные предложения, используя Array. Установите эту коллекцию в текстовое поле как AutoCompleteCustomSource. Используйте этот образец. Также вы можете использовать событие TextChanged и получить свои коллекции из Db с параметрами, такими как text.StartWith ("textBoxValue").

Используйте свойство AutoCompleteCustomSource, AutoCompleteMode и AutoCompleteSource создать TextBox, который автоматически завершает ввод строку, сравнивая префикс вводимым с префиксами всех строк в эксплуатируемой source.This полезно для управления TextBox, в котором URL-адрес , адреса, имена файлов или команды будут часто вводиться.

Здесь MSDN doc

AutoCompleteStringCollection autoCollection= new AutoCompleteStringCollection(); 

private void Form1_Load(object sender, EventArgs e) 
    { 
      textBox1.AutoCompleteCustomSource = autoCollection; 
      txtBox1.AutoCompleteMode = AutoCompleteMode.Suggest; 
      txtBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; 
    } 

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 

     if (textBox1.Text.Lenght > 2) 
     { 

       autoCollection = yourCollectionFromDB(textBox1.Text) 
       txtBox1.AutoCompleteCustomSource = autoCollection; 
     } 
    } 
+0

да, но в этом случае я должен загрузить все данные в начале моей программы и заполнить массив. Но я имею в виду результаты загрузки, чтобы предложить динамичность. Например: тип запуска пользователя, и я выбираю только 10 верхних строк из базы данных. Является ли это возможным? – user1912372