[英]How to set Filter in run time ? for gridview in C#, Winforms, DevExpress
I attach new DataSource and DataSet on Run Time. 我在运行时附加了新的DataSource和DataSet。 I set the filter also in the Run Time but it shows error 我也在运行时中设置了过滤器,但显示错误
Cannot find column [invoice_number] 找不到列[发票编号]
my code : 我的代码:
// Create a data adapter.
OleDbDataAdapter adapter =
new OleDbDataAdapter("SELECT * FROM gridview", connection);
// Create and fill a dataset.
DataSet sourceDataSet = new DataSet();
adapter.Fill(sourceDataSet);
// Specify the data source for the grid control.
gridControl1.DataSource = sourceDataSet.Tables[0];
// error show in this line
invoiceBindingSource.Filter =
string.Format("invoice_number = '{0}'", textEdit5.Text);
but my OrionSystem Access Database has the Column "invoice_number" in the table gridview. 但是我的OrionSystem Access数据库在表格gridview中有“ invoice_number”列。 What is my error ? 我的错误是什么?
或者,您始终可以设置GridView.ActiveFilterString属性。
You're setting the filter on the bindingsource, but you set the datasource directly on the grid control. 您在绑定源上设置过滤器,但直接在网格控件上设置数据源。
You must set the datasource on the bindingsource, and then set the grid's datasource to the bindingsource: 您必须在绑定源上设置数据源,然后将网格的数据源设置为绑定源:
// Create a data adapter.
OleDbDataAdapter adapter =
new OleDbDataAdapter("SELECT * FROM gridview", connection);
// Create and fill a dataset.
DataSet sourceDataSet = new DataSet();
adapter.Fill(sourceDataSet);
// Specify the data source for the bindingsource.
invoiceBindingSource.DataSource = sourceDataSet.Tables[0];
// Specify the data source for the grid control.
gridControl1.DataSource = invoiceBindingSource;
// error show in this line
invoiceBindingSource.Filter =
string.Format("invoice_number = '{0}'", textEdit5.Text);
Cheers 干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.