为item指定id属性, 使用原生方法修改DOM对象innerHTML, document.getElementById(id), 任何位置都可调用. 不过有浏览器兼容性问题.
如果只是要生成div的化完全可以使用Ext.Panel代替, 在任意位置都可以调用_window.add/remove增减items, 之后需要调用_window.render方法重新render
extjs删除动态添加的控件的方法是利用remove函数。函数原型定义:remove( Component/String component, [Boolean autoDestroy]) : Void
作用:从指定的容器中移除组件。删除之前触发事件beforeremove,则触发该组件已被删除后remove事件。
参数说明:
component : 将被删除的组件/字符串组件引用或者id。
autoDestroy : 布尔(可选)True可以自动调用删除组件的Ext.Component.destroy功能。默认为这个容器的autoDestroy配置值
var tree = new Ext.tree.TreePanel({title :'我是树' ,
width : 200,
renderTo : 'tree-div',
animate: true,
enableDD: false,
containerScroll: true,
collapsible: true,
border : true ,
dataUrl : '/aaa/bbb.action',
})
var root = new Ext.tree.AsyncTreeNode({
draggable : false ,
id : -100 ,
text : '我是根'
})
tree.setRootNode(root )
把你一级目录的ParentNodeId都设为-100
第一次加载树的时候,树会将node=-100传给你的action,通过-100查询出你的一级目录
点击展开某个目录时,会将目录id穿给你的action,通过目录id查询目录下的子项
action :
String parentId = request.getParameter("node")
//查处ParentNodeId的值为parentId 的菜单或者目录
List<Node> treeNodes = 从数据库里根据ParentNodeId=parentId 查出来
JSONArray array = new JSONArray()
for(Node node : treeNodes){
JSONObject json = new JSONObject()
json.put("id",node.getNodeId())
json.put("text",***)
json.put("leaf",tree or false)
json.put("cls","leaf" or "folder")
array.put(json)
}
response.getWriter.write(array.toString())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)