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的值设置一下就可以了。

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

时间: 2024-11-09 02:17:36

DEV TreeList 刷新技巧的相关文章

Dev TreeList 行定位

前些天,在运用Treelist这个控件时,不知道如何进行添加,修改,删除后的行定位.在网上搜寻许久,没发现合适的解决办法,后来发现TreeList有一个FindNodeByFieldValue(string fieldName, object cellValue)方法,可以寻找到指定字段的Node,在将TreeList的当前Node设置为寻找到的Node,就可以进行定位了.下面就是主要代码 TreeListNode treeListNode = treeListCode.FindNodeByFi

dev TreeList拖拽

一.说明 使用dev控件,TreeList1向TreeList2拖拽 二.属性 //允许拖拽            treeList1.AllowDrop = true;            treeList2.AllowDrop = true;            //允许多行选择            treeList1.OptionsSelection.MultiSelect = true; 三.代码 #region tree拖拽操作 TreeListHitInfo downHitIn

Dev TreeList 总结

1.表格的要求:如果要求有父子节点关系,则必须有ID和ParentID字段,并且父节点ParentID字段必须指向ID字段. 2.Access表格在穿入DATATABLE的时候,要想表现出父子节点关系,父子字段必须是相同的数据类型. 3.Dev严格的区分大小写 4.数据在展示前,做好ID(基本上是混合了父子ID的混合字段,所以表结构不清晰),再添加一个BSM辅助字段用来展现父子节点. 4.RUN Designer中可以编辑展示列顺序(Visible Index),将标示列展现在第一个索引. 很重

dev treelist 常用用法小结

要求如下: 1:选择父节点后,子节点全部打钩: 2:选择子节点而不选择父节点,则从当前节点的父节点一直到根节点check框都是半选状态. 3:当子节点均未勾选时,设置父节点状态为:未选中状态 具体实现如下: 一.OptionView-ShowCheckBoxes属性为true,则每个节点前面自动增加一个check框. 二.设置OptionBehavior-AllIndeterminateCheckState属性为true,则check框可以出现半选状态. 具体代码显示如下: #region 点击

Chorme dev tools小技巧

1.快速稳健转换:打开DevTools,按下Ctrl+P来快速寻找和打开你工程中的任意文件. 2.在源代码中搜索:打开DevTools,按下Ctrl+Shift+F,即可在所有已加载文件中查找一个特定的字符串,这个搜索的方法也支持正则表达式. 3.调整到特定的行数:打开一个源标签的文件后,DevTools能够允许你轻松跳转到代码中的任意一行.只需按下Ctrl+G,输入行数即可. 另一种Ctrl+o也可实现,输入”:行数”即可. 4.在控制台选择元素:DevTools控制台支持一些变量和函数来选择

Archlinux安装和使用技巧

一 准备工作 1  文件下载及启动盘制作 文件可以在https://mirrors.ustc.edu.cn/,这是个中科大的镜像网,选择如下: 下载完成后,就是制作一个启动盘,我使用的是Linux下强大的dd的命令,即: #dd if=xxx.iso of=/dev/sdb 其中if表示输入文件,of表示输出文件,/dev/sdb表示的是你的u盘,具体要根据个人系统挂载情况.准备的u盘不需要太好,因为这种方式会使得u盘的容量隐藏起来而无法使用,所以最好用一个次一点的u盘.当然了,制作启动盘有很多

通过history.pushState无刷新改变url

背景 在浏览器中改变地址栏url,将会触发页面资源的重新加载,这使得我们可以在不同的页面间进行跳转,得以浏览不同的内容.但随着单页应用的增多,越来越多的网站采用ajax来加载资源.因为异步加载的特性,地址栏上的资源路径没有被改变,随之而来的问题就是页面的状态无法被保存.这导致我们难以通过熟悉的方式(点击浏览器前进/后退按钮),在前后的页面状态间进行切换. 为了解决ajax页面状态不能返回的问题,人们想出了一些曲线救国的方法,比如利用浏览器hash的特性,将新的资源路径伪装成锚点,通过onhash

iscsi target存储技术-多路径 udev动态管理设备文件方法 nfs

惠普 戴尔 华为 目前国内服务器厂商排名 存储技术分类: SCSI小型计算机系统接口DAS直连式存储NAS网络技术存储SAN存储区域网络FC光纤通道 SCSI小型计算机系统接口 (U盘) DAS技术:直连式存储(将存储设备通过scsi接口或光纤通道直连到计算机上,不能实现数据与其它主机的共享,占用服务器操作系统资源cpu,io等,数据量越大,性能越差) NAS网络技术存储  做公享文件夹  (这是一种专用数据存储服务器,以数据为中心,将存储设备与服务器彻底分离,集中管理数据,提高性能,节省成本)

rhel7磁盘管理

一.MBR主引导记录        MBR有512个字节,分为三个部分:第一部分446个字节,存储了引导分区:第二部分64字 节为分区表:第三部分2个字节结束符:每个分区需16个字节,所以MBR的模式下只能划分4个主分区或3个主分区和扩展分区:主分区可以直接使用,扩展分 区不能直接使用,在扩展分区上划分逻辑分区再使用: [[email protected] ~]# cat /proc/partitions major minor  #blocks  name 8       16   20971