我有一个DataGridView,我在一个单元格中使用了AutoComplete。但是使用Autocomplete只能搜索第一个单词。我希望也可以使用AutoComplete搜索第二个单词。数据是从数据库中获取的。
例如,db包含咖啡粉,茶,盐粉等。
如果我搜索Powder,我想要的结果是Coffee Powder和Salt Powder.Now,如果我使用第二个单词进行搜索,我什么都没有。
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”,则会得到结果Wheat,
如果我搜索“ S”,我会得到糖和盐粉,
如果我搜索“ Su”,我会得到糖,
如果我搜索“ Po”,则没有任何结果。
预期结果: 如果我搜索“ Po”,我希望将盐粉作为自动完成的结果。