- 我在C# Winform中有3列Gridview,在MS SQL数据库表中有药物列表。
- 我想使用drugList表中的数据向gridview的第二列添加自动完成功能。
- 如果drugList条目中的任何位置包含键入的字符串,则应显示自动完成列表中的所有药物。
这就是我正在尝试的,它没有显示任何输出。
private void gvMedicationsTextBox_TextChanged(object sender, EventArgs e)
{
TextBox textBox = sender as TextBox;
string val = textBox.Text;
cDrugs drug = new cDrugs();
string[] autocompleteList = drug.GetAutoCompleteDrugsList(val);
if (autocompleteList != null)
{
AutoCompleteStringCollection dataCollection = new AutoCompleteStringCollection();
dataCollection.AddRange(autocompleteList);
textBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
textBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox.AutoCompleteCustomSource = dataCollection;
}
textBox.Text = val;
}
这是活动注册
private void gvMedications_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox textBox = e.Control as TextBox;
if (textBox != null)
{
textBox.TextChanged += new EventHandler(gvMedicationsTextBox_TextChanged);
}
}
1条答案
按热度按时间nszi6y051#
您可以将下拉式方块数据行加入至格缐,并启用[自动完成]属性,以便在储存格中写入任何内容时,选取的值会自动变更。