用ExcelsearchDatagridview作为数据

我已经从excel工作表提取数据到一个datagridview,这是伟大的,但我已经做了一个search框,我无法得到它的工作。

private void textBox2_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)13) { DataView dv = new DataView(dt); dv.RowFilter = "Site Name LIKE '%" + textBox2.Text + "%'"; dataGridView1.DataSource = dv.ToTable(); } } 

我在dv.Rowfilter说错误

语法错误:“名称”操作符后缺less操作数。

string“网站名称”不正确的列名称。 你必须有像“Site_Name”这样的东西; 只是纠正一样。

 dv.RowFilter = "Site_Name LIKE '%" + textBox2.Text + "%'"; 

或者,将列名放在方括号中,如下所示:

 dv.RowFilter = "[Site Name] LIKE '%" + textBox2.Text + "%'"; 

请参阅: http : //www.csharp-examples.net/dataview-rowfilter/


顺便说一句,似乎你正在加载所有的数据在DataTable中,然后过滤它。 这真的需要吗? 您可以考虑使用OLEDB提供程序,并使用filter将数据从Excel加载到DataTable本身。 这样,无论你在DataTable中得到了什么,它本身都被过滤了。 请参阅: https : //www.aspsnippets.com/Articles/Read-Excel-file-using-OLEDB-Data-Provider-in-C-Net.aspx