想利用dijit.tree实现一个动态加载的树 (dojo)
时间:2010-11-12
来源:互联网
以下是我的思路和目前的工作,如果有现成的例子也可以不管我的思路
数据库是这样的架构的
id name pid
1 a 0
2 b 0
3 c 0
4 a1 1
5 a2 1
达到效果:
我是想用dijit的tree实现这样的功能:页面开始的时候,截入a b c 三个节点,然后展开a节点的时候(dijit.tree的onopen事件),再动态地载入a1 a2 节点,加在a下面,
我目前做到的:
我生成a b c三个节点时候的json格式是这样的(设这个json对象的名字为tree1)
{identifier:'ID',label:'Name',items:[{ID:"1",Name:"a",hasChild:[]},{ID:"2",Name:"b"},{ID:"3",Name:"c"}]}
应该是要把tree1改成
{identifier:'ID',label:'Name',items:[{ID:"1",Name:"a",hasChild:[{ID:"4",Name:"a1"},{ID:"5",Name:"a2"}]},{ID:"2",Name:"b"},{ID:"3",Name:"c"}]}就可以实现自动更新了
增加节点是可以用ItemFileWriteStore的newItem方法,但这种方法只是一个一个地添加,效率太低了
我的思路是把下面的json(名字为tree2)
{identifier:'ID',label:'Name',items:[{ID:"4",Name:"a1"},{ID:"5",Name:"a2"}]}里面的items对象直接放进tree1的hasChild里面就好了,因为一个节点的子节点可能有很多,这样批量操作效果应该会比较好,但我看了dojo的api很久了,始终找不到一个适合的操作函数,不知道有无人指点迷津?或者直接给个现成的例子,不需要按照我的思路也可。
另外打完这篇文字后发现pasteItem()这个函数貌似可以完成我的想法????反正现在思维比较乱,有很多想法但都没达到效果。。。
数据库是这样的架构的
id name pid
1 a 0
2 b 0
3 c 0
4 a1 1
5 a2 1
达到效果:
我是想用dijit的tree实现这样的功能:页面开始的时候,截入a b c 三个节点,然后展开a节点的时候(dijit.tree的onopen事件),再动态地载入a1 a2 节点,加在a下面,
我目前做到的:
我生成a b c三个节点时候的json格式是这样的(设这个json对象的名字为tree1)
{identifier:'ID',label:'Name',items:[{ID:"1",Name:"a",hasChild:[]},{ID:"2",Name:"b"},{ID:"3",Name:"c"}]}
应该是要把tree1改成
{identifier:'ID',label:'Name',items:[{ID:"1",Name:"a",hasChild:[{ID:"4",Name:"a1"},{ID:"5",Name:"a2"}]},{ID:"2",Name:"b"},{ID:"3",Name:"c"}]}就可以实现自动更新了
增加节点是可以用ItemFileWriteStore的newItem方法,但这种方法只是一个一个地添加,效率太低了
我的思路是把下面的json(名字为tree2)
{identifier:'ID',label:'Name',items:[{ID:"4",Name:"a1"},{ID:"5",Name:"a2"}]}里面的items对象直接放进tree1的hasChild里面就好了,因为一个节点的子节点可能有很多,这样批量操作效果应该会比较好,但我看了dojo的api很久了,始终找不到一个适合的操作函数,不知道有无人指点迷津?或者直接给个现成的例子,不需要按照我的思路也可。
另外打完这篇文字后发现pasteItem()这个函数貌似可以完成我的想法????反正现在思维比较乱,有很多想法但都没达到效果。。。
作者: p2227 发布时间: 2010-11-12
一个一个地添加,效率太低
不一定把!
你看看它的ipa,你给他一个集合,他应该(我个人直觉,没用过这个东东)也是循环这个集合,一个一个处理的!
不一定把!
你看看它的ipa,你给他一个集合,他应该(我个人直觉,没用过这个东东)也是循环这个集合,一个一个处理的!
作者: hch126163 发布时间: 2010-11-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28