如何使用自动完成更改的方法集合
本文关键字:方法 集合 何使用 | 更新日期: 2023-09-27 17:53:29
我尝试通过多种方式在c#中使用SUBSTRING搜索来使用自动完成功能。最后总会遇到同样的问题。我的逻辑每次都返回正确的信息集,但我无法及时显示它(实时更改可用下拉列表)
就像输入'A'一样用
填充下拉列表Adeel Nazir
Abdul Muqeet
Aun Abbas
然后我擦除'A'并重新键入'N'。然后执行我的代码并返回
Adeel Nazir
Aun Abbas
但是我的下拉列表没有更新。
我尝试了刷新文本字段和许多其他方法…
注意:我还使用了函数而不是每次运行查询来搜索子字符串。但是主要的问题是每次都要更新下拉菜单。
private void key_up(object sender, KeyEventArgs e)
{
mycollection.Clear(); // autocompletecustomsource
this.hostName.Refresh();
using (SqlConnection con = new SqlConnection(Connection.con))
{
string cmd = " select hFirst+' '+hLast as Name from Hosts where hFirst+' '+hLast like '%" + this.hostName.Text + "%'";
con.Open();
using (command = new SqlCommand(cmd, con))
{
reader = command.ExecuteReader();
while (reader.Read())
{
mycollection.Add(reader["Name"].ToString());
}
hostName.AutoCompleteCustomSource = mycollection;
}
con.Close();
}
}
编辑:现在经过大量的研究,我达到了一个点,我们可以编辑我们的集合集合更改方法(默认提供),但现在我不能想出一个简单的方法来使用它。下面是我在key_up
事件上执行的新代码。请指导我如何使用自动补全的收集更改方法。
private void key_up(object sender, KeyEventArgs e)
{
mycollection.CollectionChanged+= mycollection.Add("abcd");
}
好了。我找到了一个简单的出路。
每次清除自动完成并添加新项目即可。最简单快捷的
//autocomplete.clear ();autocomplete.add("名字");