【问题标题】:Best way to remember DataGridView settings when rebinding DataSource重新绑定 DataSource 时记住 DataGridView 设置的最佳方法
【发布时间】:2010-11-15 17:07:33
【问题描述】:
我的应用程序选项卡上有一个只读 DGV。我让用户按列排序并重新排序列并选择一行。在应用程序的另一部分,您可以编辑此 dgv 中的数据,因此当我返回带有 dgv 的选项卡时,我想刷新数据但保留用户的设置,例如列顺序、排序顺序和行选择。现在我只是将 dgv 设置为新的项目列表,它会重置所有这些设置。在我重新绑定数据后,无论如何要保留这些吗?
谢谢,
科迪
【问题讨论】:
标签:
c#
vb.net
winforms
data-binding
datagridview
【解决方案1】:
将用户的设置存储在某个内部对象中。在 SuspendLayout() 和 ResumeLayout() 调用中包装您的绑定逻辑,以便您可以在重绘视觉效果之前将设置应用回 DGV。
// pseudo code
private void RefreshDGV()
{
SaveUserSettings();
myDGV.SuspendLayout();
myDGV.DataSource = myDataSource;
ApplyUserSettings();
myDGV.ResumeLayout();
}