c# - DataGridView 中第二个单词的自动完成
问题描述
我有一个 DataGridView,我在其中一个单元格中使用了 AutoComplete。但是只能使用 Autocomplete 搜索第一个单词。我希望也使用 AutoComplete 搜索第二个单词。数据正在从数据库中获取。
例如,db 包含咖啡粉、茶、盐粉等。
如果我搜索粉末,我想要结果为咖啡粉和盐粉。现在,如果我使用第二个词进行搜索,我不会得到任何结果。
private void datagrid_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dgvdetails.CurrentCell.ColumnIndex == 2)
{
string titleText = dgvdetails.Columns[2].HeaderText;
if (titleText.Equals("Product Name"))
{
TextBox autoText = e.Control as TextBox;
if (autoText != null)
{
autoText.AutoCompleteCustomSource = LoadAutoComplete(); //this method is below
autoText.AutoCompleteMode = AutoCompleteMode.Suggest;
autoText.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
}
}
}
private AutoCompleteStringCollection LoadAutoComplete()
{
DataTable dt = new DataTable();
dt = estimatesub.Searchproduct(num);
AutoCompleteStringCollection stringCol = new AutoCompleteStringCollection();
foreach (DataRow row in dt.Rows)
{
// textBox1.Text = Convert.ToString(row[1]);
stringCol.Add(Convert.ToString(row[1]));
}
return stringCol;
}
如果我的数据库包含产品名称:小麦,糖,咖啡粉,盐粉。
我目前的结果是:如果我搜索“Wh”我得到结果小麦,如果我搜索“S”我得到糖和盐粉,如果我搜索“Su”我得到糖,如果我搜索“Po”我没有得到任何结果。
预期结果: 如果我搜索“Po”,我想要盐粉作为自动完成的结果。
解决方案
推荐阅读
- angular - 使用带有粘性标题的 ui5-table Web 组件的 Angular 虚拟滚动
- java - 如何在扩展映射超类的springboot中为实体类制作构造函数
- jbpm - 运行 jBPM 7.48.0 示例应用程序时出错
- vue.js - 进入和离开类的Vue过渡不起作用
- python-3.x - 如何压缩文件夹中的文件python
- python - 正则表达式 findall 函数未按预期工作
- java - Java 如何将字符串转换为列表?
- python-3.x - 计算自定义 BERT 模型的准确性的问题
- jquery - 数据表滚动条滚动是表列
- c# - 如何使用参数运行线程池,并同时放入取消令牌?