搜索组合框,如谷歌搜索
本文关键字:搜索 谷歌 组合 | 更新日期: 2023-09-27 18:08:15
我正在制作一个Windows窗体,我有一个组合框,我已经加载了一些'发票号码',从SQL server 2010。我希望在用户输入组合框时显示发票号码。例如,如果用户输入"100",那么以"100"开头的发票号码应该在下拉菜单中显示。
请帮忙,
DataTable temp;
DataTable bank;
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
temp = DbRdRw.SqlDbRead("Select * from BankMaster", "BankMaster");
DataView dtview = new DataView(temp);
dtview.Sort = "BankName DESC";
bank = dtview.ToTable();
comboBox1.DataSource = bank;
comboBox1.ValueMember = "BankName";
comboBox1.DisplayMember = "BankName";
}
在加载时用数据库中的项填充组合框设置组合框属性:
AutoCompleteMode:建议追加
AutoCompleteSource : listitem
确保将DropDown样式设置为DropDown,以便用户可以输入。如果组合框中输入的文本在列表中存在,则在接受之前进行验证。
希望能有所帮助。
尝试AutoCompleteMode -建议或建议追加取决于你正在寻找的确切行为。此外,记住为AutoComplete将基于自动完成的列表设置AutoCompleteSource(我建议使用listtitems)。
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.autocompletemode.aspx您需要做的是:
- 每当用户在文本框中输入一个字符时,获取一个事件。
-
在此事件上运行一个函数来读取框的内容(在您的示例中为'100')并向数据库发起查询,例如:
SELECT InvoiceNumber from Invoices WHERE InvoiceNumber LIKE '100%'
- 将匹配结果显示在组合框中供用户选择。