打印

求救--关于带checkBox 的树

求救--关于带checkBox 的树

求教各位高手,我用checkBoxTree 添加某些数据到数据库,在编辑的时候,我如何把从数据库中得到的信息还原,也就是我上次check了的节点,编辑的时候也能显示为check状态。

TOP

具体是用tree的场景如何?
如果添加数据、编辑数据操作能够在一个session里面,那么可以设置tree的saveState属性为“true”,则在将树的状态保存在服务器端。如果不是,那么可以从根节点开始遍历,依次和数据库中查询出来的相关信息,相比较,符合则调用树节点的checked方法。

TOP

liqi , 我的tree 是一个权限树(对象的集合),用来在增加角色时,对该角色进行授权,比如某系统下的某个模块,某个模块下的某种功能。 角色中使用一个字段来存储权限信息(由权限的ID和分隔符组成),如果我想要对该角色进行编辑,我需要先对角色中存储权限信息的字段分解,得到权限ID,我在编辑的时候,就是要把Id值(树上的那些对象的ID)等于权限ID(分解得到的ID)的那些节点设为checked。
如何通过遍历checked?或者还有没有别的方法?嘿嘿,不知道表述清楚没,无论怎样,非常感谢你的帮忙。

TOP

只能通过遍历树节点的方法 ,根据你得到的id,将树的相应节点设置为checked。
UICheckTreeNode rootNode = (UICheckTreeNode) tree.getRootNode();
Iterator iter = rootNode.getChildren().iterator();
。。。。。。//对树节点进行遍历,还应该对一组id进行遍历,所以嵌套循环。如果判断节点的值和id一样,则可以调用treeNode的setchecked(true),就可以将该节点checked。

TOP