C# 刷新数据源后还原DevExpress XtraGrid的焦点行

C# 刷新数据源后还原DevExpress XtraGrid的焦点行,c#,winforms,hierarchy,xtragrid,C#,Winforms,Hierarchy,Xtragrid,我正在使用DevExpress XtraGrid。我有一个对象列表作为网格数据源,每个对象可以包含(或不包含)一个类似对象的列表,等等。这样我就有了某种层次结构。所以,每个内部对象列表的网格都会创建一个子视图。 当我向datasource添加新对象并调用RefreshDatasource()时,网格将完全崩溃,我必须再次向下钻取网格级别,直到我以前关注的行 在数据源刷新到子视图的任何子级别后,是否有方法将焦点行恢复到子视图的任何子级别?在现有网格数据和刷新操作中添加/插入新对象之前,您需要维护焦

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


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

在现有网格数据和刷新操作中添加/插入新对象之前,您需要维护焦点行。完成网格数据更新操作后,可以通过设置聚焦行句柄来设置早期的聚焦对象。 若要在MasterDetail网格中获取当前行句柄,应遵循以下链接:

我认为这会给你在挑战中取得成功提供一个良好的开端;)它描述了一种使用示例代码在XtraGrid中保留所有(子)视图的视图状态的方法


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

您是否在DevExpress支持论坛上寻求帮助?他们有大量的话题,到目前为止,除了一个问题外,我能找到我所有问题的答案。