0

我在运行时附加了新的数据源和数据集。我也在运行时设置了过滤器,但它显示错误

找不到列 [invoice_number]

我的代码:

// 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”。我的错误是什么?

4

2 回答 2

2

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

于 2013-11-10T04:41:11.317 回答
1

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

您必须在 bindingsource 上设置数据源,然后将网格的数据源设置为 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);

干杯

于 2013-11-09T06:38:57.253 回答