更改DataSource后列标题文本发生更改

本文关键字:文本 标题 DataSource 更改 | 更新日期: 2023-09-27 18:24:41

当我用没有行的DataTable更改DataGridView的DataSource,然后用包含行的DataTable更改DataSource时,头文本和其他属性(如width。。。

更改DataSource后列标题文本发生更改

尝试在DataGridViewDataTable之间使用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,现在一切都很好。也许不是最好的方法,但它是有效的。谢谢大家!