在这里,我创建了一个函数,它传递必须完成自动完成的表名、需要自动完成的字段名称和需要定位的组合框。
试试下面的代码:
public void AutoCompleteTextBox(string tableName, string fieldName, ComboBox combToAutoComp)
{
AutoCompleteStringCollection txtCollection = new AutoCompleteStringCollection();
DataTable dtAutoComp = Dal.ExecuteDataSetBySelect("Stored_Procedure", fieldName, tableName);
if (dtAutoComp.Rows.Count >= 0)
{
for (int count = 0; count < dtAutoComp.Rows.Count; count++)
{
txtCollection.Add(dtAutoComp.Rows[count][fieldName].ToString());
}
}
combToAutoComp.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
combToAutoComp.AutoCompleteSource = AutoCompleteSource.CustomSource;
combToAutoComp.AutoCompleteCustomSource = txtCollection;
}
这Dal.ExecuteDataSetBySelect
是我的实现,我在其中创建用于调用存储过程的连接、命令和数据适配器。您可以将其替换为您自己的实现。有关更多信息,请参阅此链接