[Ajax4JSF] 请教Icefaces tree如何动态加载下一级节点?
nj_first
2009-10-23
这两天在看Icefaces中的Tree控件,在它的教程中节点都是事先初始化好的。那么这样就会有一个问题,但我树很深,我没必要在初始化时就初始化好这棵树。我想实现在电解展开节点是在初始化加载,不知给为有谁做过这方面的工作或尝试。
Icefaces中Tree控件使用教程地址: http://facestutorials.icefaces.org/tutorial/tree-tutorial.html |
|
wgoku
2009-11-05
这个要手动加载的。。。我也没找到什么好办法 我是 用多次循环的方法生成的。
|
|
wgoku
2009-11-05
web界面
<ice:panelGrid columns="1"> <ice:tree id="tree1" value="#{Organization$OrgList.model}" var="item"> <ice:treeNode id="treeNode1"> <f:facet name="content"> <ice:panelGroup id="panelGroup2" style="display: inline;"> <ice:commandLink action="#{Organization$OrgList.tree1_action}" id="commandLink1"> <f:param name="name" value="#{item.userObject.text}"/> <ice:outputText id="outputText1" style="font-family: Arial,Helvetica,sans-serif; font-size: 18px" value="#{item.userObject.text}"/> </ice:commandLink> </ice:panelGroup> </f:facet> </ice:treeNode> </ice:tree> </ice:panelGrid> java 代码 DefaultMutableTreeNode rootTreeNode = new DefaultMutableTreeNode(); IceUserObject rootObject = new IceUserObject(rootTreeNode); //懒啦一些直接写的跟节点 rootObject.setText("根节点"); rootObject.setExpanded(true); rootTreeNode.setUserObject(rootObject); //就是用循环赋值给 model model = new DefaultTreeModel(rootTreeNode); ; if (note1.size() > 0) { //我的数据是list 第2个是组织名字 for (int i = 1; note1.size() > i; i += 2) { String personName = (String) note1.get(i); DefaultMutableTreeNode branch1Node = new DefaultMutableTreeNode(); IceUserObject branch1Object = new IceUserObject(branch1Node); branch1Object.setText(personName); branch1Object.setExpanded(true); branch1Node.setUserObject(branch1Object); rootTreeNode.add(branch1Node); Integer id = (Integer) note1.get(i - 1); //getList2 是一个封装的方法 得到2级结点 this.setNote2(getList2(id)); if (note2.size() > 0) { for (int j = 1; j < note2.size(); j += 2) { String name = (String) note2.get(j); DefaultMutableTreeNode branch2Node = new DefaultMutableTreeNode(); IceUserObject branch2Object = new IceUserObject(branch2Node); branch2Object.setText(name); branch2Object.setExpanded(true); branch2Node.setUserObject(branch2Object); branch1Node.add(branch2Node); //如果要更多节点 可以继续循环,,, } } } } 本人菜鸟入职2个多月 多多指教 |
|
nj_first
2009-11-10
我找到一个方法,就是不知道在实际使用中稳定性怎样
|
|
Gothic
2009-11-11
没有一个expandListener?或者可以监听到onexpand事件吗?
|
|
nj_first
2009-11-11
你可以取得navigationnode,这个就是你点击的节点,在这个节点下添加东西。
|
相关讨论
相关资源推荐
- Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
- 【Ajax入门技术】原生AJAXexpress的基本使用,进行不刷新页面获取到数据
- 不用刷新网页继续加载(获取)新的内容XHR
- 4种页面无刷新更新数据的技术
- 不刷新页面查询数据库中数据的方法--XML方法
- 【java web】通过jquery实现在页面不刷新的情况下获取并修改value属性
- 三种上传文件不刷新页面的方法讨论:iframe/FormData/FileReader
- 如何实现Vue跳转时不刷新页面,但实时更新列表数据(keepAlive)
- php无刷新更新新数据,用javascript实现无刷新更新数据
- ajax实现消息实时刷新