相关疑难解决方法(0)

C#自动完成

我正在尝试向文本框添加自动完成功能,结果来自数据库.它们的格式为

[001]最后,第一中间

目前,您必须输入[001] ...才能显示要显示的条目.所以问题是我希望它完成,即使我先键入firstname.所以,如果一个条目是

[001] Smith,John D.

如果我开始输入John,则此条目应显示在自动完成的结果中.

目前代码看起来像

AutoCompleteStringCollection acsc = new AutoCompleteStringCollection();
txtBox1.AutoCompleteCustomSource = acsc;
txtBox1.AutoCompleteMode = AutoCompleteMode.Suggest; 
txtBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; 

....

if (results.Rows.Count > 0)
    for (int i = 0; i < results.Rows.Count && i < 10; i++) 
    {
        row = results.Rows[i];
        acsc.Add(row["Details"].ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

results是包含查询结果的数据集

查询是使用like语句的简单搜索查询.如果我们不使用自动完成并将结果抛入数组,则会返回正确的结果.

有什么建议?

编辑:

这是返回结果的查询

SELECT Name from view_customers where Details LIKE '{0}'
Run Code Online (Sandbox Code Playgroud)

{0}是搜索字符串的占位符.

c# autocomplete winforms

43
推荐指数
2
解决办法
6万
查看次数

标签 统计

autocomplete ×1

c# ×1

winforms ×1