繁体   English   中英

如何在运行时设置过滤器? 用于C#,Winforms,DevExpress中的gridview

[英]How to set Filter in run time ? for gridview in C#, Winforms, DevExpress

我在运行时附加了新的DataSource和DataSet。 我也在运行时中设置了过滤器,但显示错误

找不到列[发票编号]

我的代码:

// 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);

但是我的OrionSystem Access数据库在表格gridview中有“ invoice_number”列。 我的错误是什么?

或者,您始终可以设置GridView.ActiveFilterString属性。

您在绑定源上设置过滤器,但直接在网格控件上设置数据源。

您必须在绑定源上设置数据源,然后将网格的数据源设置为绑定源:

// 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);

干杯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM