Как сделать автозаполнение в текстовом поле wpf?

1

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

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 в вашем случае. И вы всегда должны использовать параметризованные запросы . Этот тип конкатенации строк открыт для атак SQL-инъекций . Также используйте оператор using для удаления ваших соединений с базой данных.
  • 0
    @SonerGönül:But SonerGönül: Но я не знаю, как кодировать
Показать ещё 2 комментария
Теги:
wpf

2 ответа

1
Лучший ответ

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

Также взгляните на этот красивый многопользовательский WPF Autocomplete TextBox, он может вам помочь.

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

3

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

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

И вот учебник, в котором вы узнаете, как использовать этот элемент управления.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню