【发布时间】:2016-02-22 17:45:27
【问题描述】:
我从 Excel 表中读取并为 BindingList 编写了此内容,在 Form_Load 中将其设置为 DataSource 作为 BindingSource:
bd = new BindingSource(); //instance of BindingSource
bd.DataSource = ExcelOPS.LerExcel(); //LerExcel() method return a BindingList<T>
gvFiltro.DataSource = bd; //set a DataGridView named gvFiltro DataSource property
bindNav.BindingSource = bd; //set a BindingNavigator source
这工作很好! 我打算创建一个组合框作为这个 DataGridView gvFiltro 的过滤器,所以在组合框的 SelectedIndexChanged 事件中,我试试这个:
this.gvFiltro.DataSource = null;
bd.Filter = string.Format("TAG_FAZENDA like '%{0}%'", cbTagFaz.Text);
gvFiltro.DataSource = bd;
gvFiltro.Update();
gvFiltro.Refresh();
bindNav.BindingSource = bd;
bindNav.Update();
bindNav.Refresh();
但 DataGridView 不会改变。我错过了什么?
【问题讨论】:
-
如果数据网格在另一个容器控件中,您可能还需要刷新该控件。
-
需要刷新表单吗?
标签: c# .net winforms datagridview bindingsource