【发布时间】:2025-12-12 19:40:01
【问题描述】:
我需要创建一个显示textName 的组合框自动完成功能,但是当我点击text 时,它会得到value“ID”与“名称”的绑定。我已经创建了一个代码,但它不起作用,我很困惑 set display text 和 value 进入组合框和自动完成 data-source 绑定。
private void loadAutoCompleteValues()
{
autoCompleteCombo.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
autoCompleteCombo.AutoCompleteSource = AutoCompleteSource.CustomSource;
DataTable products;
con.MysqlQuery("select * from products");
products = con.QueryEx();
Dictionary<string, string> comboSource = new Dictionary<string, string>();
for (int i = 0; i < products.Rows.Count; i++)
{
DataRow dr = products.Rows[i];
comboSource.Add(dr["id"].ToString(), dr["name"].ToString());
}
autoCompleteCombo.DataSource = new BindingSource(comboSource, null);
autoCompleteCombo.DisplayMember = "Value";
autoCompleteCombo.ValueMember = "Key";
}
private void autoCompleteCombo_SelectedIndexChanged(object sender, EventArgs e)
{
string key = ((KeyValuePair<string, string>)autoCompleteCombo.SelectedItem).Key;
string value = ((KeyValuePair<string, string>)autoCompleteCombo.SelectedItem).Value;
MessageBox.Show(key + " " + value);
}
【问题讨论】:
-
不工作是什么意思?那个消息框在显示吗?
-
不,组合框是空的!
-
它正在工作!我忘了
db con = new db();但auto complete不工作??
标签: c# combobox autocomplete