重新绑定DataSource时记住DataGridView设置的最佳方法

时间:2010-11-15 17:07:33

标签: c# vb.net winforms data-binding datagridview

我的应用程序选项卡上有一个只读DGV。我让用户按列排序并重新排序列并选择一行。在应用程序的另一部分,你可以编辑这个dgv中的数据,所以当我回到带有dgv的选项卡时,我想要刷新数据,但保留用户的设置,如列顺序,排序顺序和行选择。现在我只是将dgv设置为新的项目列表,它会重置所有这些设置。在我重新绑定数据之后,还有什么可以坚持下去吗?

谢谢,
科迪

1 个答案:

答案 0 :(得分:0)

将用户的设置存储在某个内部对象中。在SuspendLayout()和ResumeLayout()调用中包装绑定逻辑,以便您可以在重绘视觉效果之前将设置应用回DGV。

// pseudo code
private void RefreshDGV()
{
    SaveUserSettings();
    myDGV.SuspendLayout();
    myDGV.DataSource = myDataSource;
    ApplyUserSettings();
    myDGV.ResumeLayout();
}