【问题标题】:Restore focused row of DevExpress XtraGrid after RefreshDatasource在 RefreshDatasource 之后恢复 DevExpress XtraGrid 的焦点行
【发布时间】:2014-07-03 17:22:08
【问题描述】:

我正在使用 DevExpress XtraGrid。我有一个对象列表作为网格数据源,每个对象可以包含(或不包含)类似对象的列表等等。通过这种方式,我有一种层次结构。因此,每个内部对象列表的网格都会创建一个子视图。 当我将新对象添加到数据源并调用 RefreshDatasource() 时,网格完全崩溃,我必须再次向下钻取网格级别到我之前关注的行。

有没有办法在数据源刷新到子视图的任何子级别后恢复焦点行?

【问题讨论】:

标签: c# winforms hierarchy xtragrid


【解决方案1】:

我认为this article 将为您在挑战中取得成功提供一个良好的开端;)它通过示例代码描述了一种在 XtraGrid 中保留所有(子)视图的视图状态的方法。

这是一大堆代码,但您可以轻松复制/粘贴它以检查和测试它。

【讨论】:

    【解决方案2】:

    在现有网格数据和刷新操作中添加/插入新对象之前,您需要保持焦点行。完成网格数据更新操作后,您可以通过设置焦点行句柄来设置较早的焦点对象。 要在 MasterDetail 网格的情况下获取当前行句柄,您应该点击以下链接: How to get a parent record/row handle in the master/detail grid

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多