我的应用程序选项卡上有一个只读DGV。我让用户按列排序并重新排序列并选择一行。在应用程序的另一部分,你可以编辑这个dgv中的数据,所以当我回到带有dgv的选项卡时,我想要刷新数据,但保留用户的设置,如列顺序,排序顺序和行选择。现在我只是将dgv设置为新的项目列表,它会重置所有这些设置。在我重新绑定数据之后,还有什么可以坚持下去吗?
谢谢,
科迪
答案 0 :(得分:0)
将用户的设置存储在某个内部对象中。在SuspendLayout()和ResumeLayout()调用中包装绑定逻辑,以便您可以在重绘视觉效果之前将设置应用回DGV。
// pseudo code
private void RefreshDGV()
{
SaveUserSettings();
myDGV.SuspendLayout();
myDGV.DataSource = myDataSource;
ApplyUserSettings();
myDGV.ResumeLayout();
}