码迷,mamicode.com
首页 > 其他好文 > 详细

DEV TreeList 刷新技巧

时间:2014-11-27 16:23:53      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:设计   devexpress   控件   界面   

终于搞定DevExpress的TreeList控件的刷新数据源后恢复刷新前节点展开状态的问题。简而言之,就是更新被修改的内容时让树看上去不动,原来展开的节点还是展开,原先闭合的节点还是闭合。

由于控件本身没有提供这种方法,所以只能手动实现了。实现的思路如下:

1、保存刷新前节点状态,试过几种方法都不理想,最后采取的办法是用一个List保存Expanded属性为True的节点的KeyID。

var ids = new List<object>();
treList.GetNodeList().FindAll(n => n.Expanded).ForEach(n => { ids.Add(n.GetValue("ID")); });

2、刷新后还原节点状态

ids.ForEach(id => { treList.FindNodeByKeyID(id).Expanded = true; });

如果需要还原焦点节点的话,需要在刷新前获取FocusedNode的id并保存起来,刷新后将FocusedNode的值设置一下就可以了。


希望这点小小经验能够帮助到需要他的人。

DEV TreeList 刷新技巧

标签:设计   devexpress   控件   界面   

原文地址:http://blog.csdn.net/xuanbg/article/details/41546403

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!