筛选数据网格视图
本文关键字:视图 网格 数据网 数据 筛选 | 更新日期: 2023-09-27 18:31:04
我正在尝试过滤DataGridView,数据源是一个数据集。
所以我使用以下行来过滤网格:
DataTable dt = (dataGridViewMain.DataSource as DataSet).Tables[0];
dt.DefaultView.RowFilter = "CustomerName = 'My Customer'";
但是,网格不会被过滤,所有行仍然显示。我错过了什么?
然后你需要重新绑定网格。我建议您调用函数数据获取数据集,然后应用行过滤器:
var view=GetDataSet().Tables[0].DefaultView
view.RowFilter = "CustomerName = 'My Customer'";
dataGridViewMain.DataSource=view;
dataGridViewMain.DataBind();
否则,您可能必须执行以下操作:
var view=(dataGridViewMain.DataSource as DataSet).Tables[0].DefaultView
view.RowFilter = "CustomerName = 'My Customer'";
dataGridViewMain.DataSource=view;
dataGridViewMain.DataBind();
绑定控件时,是将它们绑定到 DefaultView 还是数据表?绑定到数据表永远不会显示针对默认视图的行筛选器。
尝试将 rowstate 筛选器设置为 DataViewRowState.ModifiedCurrent。同时接受对 datatable 的更改并重新绑定数据网格。
(dataGridViewMain.DataSource as DataSet).Tables[0].AcceptChanges();
dataGridViewMain.DataBind();