首页 > 代码库 > DEV TreeList 刷新技巧
DEV TreeList 刷新技巧
终于搞定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 刷新技巧
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。