更改DataSource后列标题文本发生更改
本文关键字:文本 标题 DataSource 更改 | 更新日期: 2023-09-27 18:24:41
当我用没有行的DataTable更改DataGridView的DataSource,然后用包含行的DataTable更改DataSource时,头文本和其他属性(如width。。。
尝试在DataGridView
和DataTable
之间使用BindingSource
控件。BindingSource
控件有一个非常有用的属性Filter
,它将过滤掉不需要的行,而不会创建新的DataTable
对象或以其他方式影响底层DataTable
的结构,因此DataGridView的标头不会受到影响。
您可以通过代码手动执行此操作,也可以在设计器中删除BindingSource的实例。代码看起来像这样:
BindingSource bs = new BindingSource();
bs.DataSource = YourDataTable;
YourGridView.DataSource = bs;
然后你可以通过简单的操作过滤出你的结果:
bs.Filter = "some_column = 'some_value'";
在使用具有行的DataTable重新填充DGV之前,请先尝试清除DGV。
我通过复制DT并清除她的行来解决问题。然后我将DT分配给DataForce,现在一切都很好。也许不是最好的方法,但它是有效的。谢谢大家!