在RefreshDatasource之后恢复DevExpress XtraGrid的焦点行

时间:2014-07-03 17:22:09

标签: c# winforms hierarchy xtragrid

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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