【发布时间】:2016-06-06 23:42:25
【问题描述】:
我正在尝试通过从文本框中搜索字符串来过滤 datagridview 中包含数千个条目的表,该字符串受从组合框中选择的列名的限制。我希望搜索实时发生,通过 textbox_TextChanged 类进行更新。通过研究,我编写了一些应该做我需要的代码。但是,每当我在文本框中输入,提示 textchanged 类时,都会出现错误:
“抛出异常:System.Data.dll 中的‘System.Data.SyntaxErrorException’”
请注意,datagridview 确实会在输入文本框之前显示所有数据条目,并且组合框选项与 datagridview 中的列的大小写完全相同。
我的代码:
private void searchTerms_TextChanged(object sender, EventArgs e)
{
BindingSource bs = new BindingSource();
bs.DataSource = shareholderDataGrid.DataSource;
bs.Filter = string.Format(searchItem + " like '%{0}%'", searchTerms.Text.Trim().Replace("'", "''"));
shareholderDataGrid.DataSource = bs;
}
shareholderDataGrid 是数据网格,searchItem 是指从组合框中选择的字符串,searchTerms 是指用户输入的文本框。
感谢任何帮助,如果您需要更多信息,请询问。
【问题讨论】:
-
@cjpartin,抛出异常时
string.Format(searchItem ... )的值是多少? -
不管组合框中选择的选项如何,都会抛出它。选项是“ID”、“姓氏”、“名字”。这些是 searchItem 的值。
标签: c# .net winforms datagridview