下拉框,当按下一个键时,跳转到选择
问题描述:
我有一个组合框,它定义了屏幕上其他框的内容。下拉框,当按下一个键时,跳转到选择
因此,例如,如果我要在我的组合框中输入员工姓名的“Apple”,则会导致错误,因为我的数据库中没有“Apple”员工,这意味着无法检索到填充表格的其余部分。
是否有我可以设置的属性或代码片段我可以编写以确保用户在组合框中键入的任何内容将突出显示从该绘图中选择的内容?
答
您可以将DropDownStyle
设置为DropDownList
(而不是DropDown
)。然后用户可以继续输入,但Combobox
仅在存在此类元素时才切换选择。
(然而,这确实改变了组合框,Appearence,所以它看起来不再像“FreeText的”可用)
设置AutoCompleteMode
到Suggest
和AutoCompleteSource
到ListItems
为了让多只的第一个字母输入更多的文字。 (组合框将扩大和更多的字母切换元件作为用户类型。)
答
检查数据源(数据表,数据集等等等等)的计所绑定到组合框
if(DataSource!=null && DataSource.rows.count>0)
{
combobox.datasource=DataSource;
combobox.refresh();
}
答
我会建议你做以下事情:
1.拿一个文本框,并设置文本框的属性为 AutoCompleteMode=SuggestAppend
和AutoCompleteSource = CustomSource
。
2.在数据表(可能是员工名称或您想要的任何其他列)中载入您想要的值。
3.在您的页面加载或任何您想要的事件中调用以下方法。
public bool AutoComplete()
{
try
{
DataTable dtEmpName=/////// store the employees name in this DataTable.
var empNames = dtEmpName.Select(s => s.EmpName('the column you want').Distinct().ToArray();
/////// Auto complete Name from Surname
AutoCompleteStringCollection instcol = new AutoCompleteStringCollection();
instcol.AddRange(empNames);
txtEmpNames.AutoCompleteCustomSource = instcol;
}
catch (Exception ex)
{
throw ex;
}
}