2014-09-05 3 views
1

Вот код, который я использую для поиска, он возвращает значение, когда мы вводим целое имя, но мне нужно текстовое поле автозаполнения, которое показывает предложения при вводе имени.Как сделать автозаполнение в текстовом поле wpf?

private void textBox3_KeyUp_1(object sender, System.Windows.Input.KeyEventArgs e)//Name Search 
{ 
    SqlConnection con = new SqlConnection(constr); 
    con.Open(); 
    SqlCommand cmd = con.CreateCommand(); 
    cmd.CommandType = CommandType.Text; 
    cmd.CommandText = "Select [Patient ID],[Patient Name],[Gender],[StudyDateTim],[Modality],[Study Name] From RepView Where [Patient Name] like '%" + textBox3.Text + "%'"; 
    cmd.ExecuteNonQuery(); 
    DataTable dt = new DataTable(); 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    da.Fill(dt); 
    dataGrid1.ItemsSource = dt.DefaultView; 
    con.Close(); 
} 
+3

Вам не нужно 'ExecuteNonQuery' в ваш случай. И вы всегда должны использовать [параметризованные запросы] (http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me-death/). Этот тип конкатенаций строк открыт для [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection) атак. Также используйте _using statement_ для удаления соединений с базой данных. –

+0

@ SonerGönül: Но я не знаю, как код – Ramji21

+2

@ Ramji21: научиться кодировать в этом случае. Мое намерение не должно быть жестким, но не ожидайте создания хорошей программы, если у вас нет минимального понимания того, что вы делаете. –

ответ

1

Вы можете найти один в WPF Toolkit, который также доступен через NuGet

Также обратите внимание на этот хороший Многоразовые WPF Autocomplete TextBox, это может помочь вам.

вы можете также добавить AutoCompleteBox в панели инструментов, нажав на него, а затем выбрать товары, перейдите в WPF компоненты, типа в фильтре AutoCompleteBox, который находится на System.Windows

3

Вы можете создать AutoCompleteTextBox с помощью простого textbox контроля и управления listbox. Вот tutorial, который проведет вас через весь процесс.

Но если вы не хотите создавать его самостоятельно, вы можете просто использовать уже созданный элемент управления кем-то другим. Загрузите его с here.

И вот tutorial, рассказывающий вам, как использовать этот элемент управления.

Смежные вопросы