代码之家  ›  专栏  ›  技术社区  ›  Cody C

重新绑定数据源时记住DataGridView设置的最佳方法

  •  0
  • Cody C  · 技术社区  · 15 年前

    我的应用程序选项卡上有一个只读DGV。我允许用户按列排序并重新排序列,然后选择一行。在应用程序的另一部分中,您可以编辑此dgv中的数据,因此当我使用dgv返回选项卡时,我希望刷新数据,但保留用户的设置,如列顺序、排序顺序和行选择。现在,我只是将dgv设置为新的项目列表,它将重置所有这些设置。在我重新绑定数据后,是否仍要保留这些内容?

    谢谢,
    科迪

    1 回复  |  直到 15 年前
        1
  •  0
  •   cdkMoose    15 年前

    将用户的设置存储在某个内部对象中。在suspendlayout()和resumelayout()调用中包装绑定逻辑,以便在重绘视觉对象之前将设置应用回dgv。

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