在刷新数据源后恢复DevExpress XtraGrid的焦点行



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

是否有一些方法可以在数据源刷新后恢复焦点行到子视图的任何子级别?

我想这篇文章会给你一个成功的开始。它用示例代码描述了一种保存XtraGrid中所有(子)视图的视图状态的方法。

这是一大堆代码,但你可以很容易地复制/粘贴它来检查和测试。

在这里,您需要在现有网格数据中添加/插入新对象之前维护焦点行&刷新操作。完成网格数据更新操作后,可以通过设置聚焦行句柄来设置较早聚焦的对象。要获得当前行句柄在MasterDetail网格的情况下,你应该遵循下面的链接:如何在主/详细网格中获得父记录/行句柄

最新更新