为什么80%的码农都做不了架构师?>>>   

13. dijit.Tree 动态添加节点之一
对dijit.Tree研究了很久,源代码也看了好多遍了。对于fx这个类的研究还需要更深入一步。动态添加树的节点已经完成了。
与大家分享一下:
===========================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>test tree , dynamic add treenode</title>
<style type="text/css">
 @import "../js/dojo/resources/dojo.css";
 @import "../js/dijit/themes/tundra/tundra.css";
</style> 
<script type="text/javascript"
 djConfig="parseOnLoad: true, isDebug: true"
 src="../js/dojo/dojo.js"></script>
<script type="text/javascript">
/*
 author : amushen
 date:20070716
 email:amushen@gmail.com
*/
 dojo.require("dijit.form.Button");
 dojo.require("dijit.Tree");
 dojo.require("dojo.data.JsonItemStore");
function init(){
 var treeData={identifier: 'name',
      label: 'name',
      items: [
     { name:'China', type:'one',children:[{reference:'beijing'}] },
         { name:'beijing', type:'city'},
     { name:'USA' , type:'one'},
     { name:'UK' , type:'one'}
    ]
 };
 var store1=new dojo.data.JsonItemStore({data:treeData});
 
 var _tree=new dijit.Tree({
  widgetId:"tree",
  store:store1,
  query:{type:'one'},
  labelAttr:"name",
  typeAttr:"type"},dojo.byId("tree"));
}
dojo.addOnLoad(init);
function addNode(){
 //add one treeNode
 var _tree=dijit.byId("tree");
 var tdata={label:"FR",tree:_tree,item:{name:"FR",type:"one"}};
 var child=new dijit._TreeNode(tdata);  
 _tree.addChild(child,1);
 child._updateLayout();
 _tree.getChildren()[2]._updateLayout();
 child.setChildren({});
 child._setExpando();
// console.debug();
}
function addSecondNode(){
 // add a treenode for FR
 var _tree=dijit.byId("tree");
 var fr=_tree.getChildren()[1];
 var tdata=[{label:"Paris",item:{type:"city",name:"Paris"}}];
 fr.setChildren(tdata);
 fr.getChildren()[0].setChildren({});
 fr.isFolder=true;
 fr.isExpanded=false;
 fr._updateLayout();
 fr._setExpando();
}
function addThirdNode(){
 var _tree=dijit.byId("tree");
 var fr=_tree.getChildren()[1];
 var tdata={label:"pp",tree:_tree,item:{name:"pp",type:"city"}};
 var child=new dijit._TreeNode(tdata);  
 child.setChildren({});
 fr.addChild(child);
 child._updateLayout();
 fr.getChildren()[0]._updateLayout();
}
</script>
</head>
<body class="tundra">
<button id="b1" dojoType="dijit.form.Button" οnclick="addNode()">add a treeNode</button>
<button id="b2" dojoType="dijit.form.Button" οnclick="addSecondNode()">add another treeNode</button>
<button id="b3" dojoType="dijit.form.Button" οnclick="addThirdNode()">add third treeNode</button>
<div id=tree></div>
</body>
</html>

转载于:https://my.oschina.net/ykai/blog/9468

Dojo学习13 dijit.Tree 动态添加节点之一相关推荐

  1. treeview托拽和动态添加节点以及treeview和xml的交互的实现

    前两天被winform的treeview搞晕了,现在终于有时间了,把自己用到的知识简单的写出来.供和我一样初用winform 的treeview的同志批评指正.         一.treeview的 ...

  2. zTree动态添加节点

    在zTree上面动态添加节点要用到函数: addNodes(parentNode, [index], newNodes, isSilent) 关于这个函数的详细说明如下: 示例代码如下: //1.获取 ...

  3. Ambari动态添加节点

    Ambari添加节点 背景 措施 操作步骤 ambari系列: Ambari 服务器节点动态换盘操作 Ambari的Metrics Collector启动后自动关闭的解决 Ambari动态添加节点 背 ...

  4. redis三主三从部署集群以及动态添加节点和删除节点

    redis安装过程: redis6.2.6安装与学习_wtl1992的博客-CSDN博客_redis6安装1.redis在Linux上的安装github地址:Releases · redis/redi ...

  5. Web前端文档阅读笔记-vis.js动态添加节点(vue cli环境)

    这里主要是针对vis的network图进行节点动态添加 图用的是vis.js,表单使用的是element-ui 程序运行截图如下: 添加一个节点: 这里是不需要刷新页面就能添加的. 程序结构如下: 关 ...

  6. 【Kafka】Kafka集群 动态 添加 节点 可行否

    文章目录 1.概述 2.集群 2.1 准备2个节点 2.2 修改配置 2.2.1 node1 配置 2.2.2 node2 配置 2.3 启动zk 2.4 启动node1 2.5 测试 2.6 启动n ...

  7. java 动态加载控件_JS动态添加节点后渲染为EasyUI控件,EasyUI动态渲染解析解决方案...

    这是个小菜在实际工作中遇到的问题,相信很多EasyUI新手很可能也遇到这样的问题,因此小菜觉得有必要拿出来分享一下. 这个问题要从EasyUI的datebox组件说起,小菜用这个组件的时候,发现用$( ...

  8. antv g6动态添加节点

    前言 : antv 官方API只是提供了一般用法,但是许多实际项目有一些定制需求,往往无法实现. 最近 公司在做图谱项目,需要在展示处节点之后,点击某一个节点,实现动态追加节点, 1.动态追加: gr ...

  9. java树 JTree实例(可动态添加节点)

    import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*;   class ...

最新文章

  1. R语言将字符型(Character)变量转化为数值型(Numeric)
  2. Java调用PHP,跑PHP代码
  3. git pull 覆盖本地_SVN与Git比较的优缺点差异
  4. pythonfor循环列表排序_Python Day4950(for循环语句整理)
  5. dat图片 电脑端微信_微信 PC 版迎来了重磅更新,可以在电脑端使用小程序了 !...
  6. mysql配置好后_安装完 MySQL 后必须调整的 10 项配置
  7. python常用代码大全-python基础,python基础代码大全
  8. Pycharm整体缩进
  9. 稳妥方法论:如何完整地设计出游戏关卡及场景
  10. [FAQ10908][Message]开启固定拨号FDN功能(无法发短信的原因),发送信息时如何做FDN check
  11. 置信区间 置信水平 边际误差
  12. css透明度兼容问题opacity
  13. 【Unity】AvProVideo 实现当前视频播放完毕自动加载下一视频
  14. C/C++基础题045.PUM
  15. vue报错:vue.js:634 [Vue warn]: Cannot find element: #app
  16. 使用云祺虚拟机备份软件备份H3C CAS 虚拟机
  17. Get a Model! Model Hijacking Attack Against Machine Learning Models
  18. Ubuntu、Debian 系统安装 PHP 7.4 教程,超简单,一把梭!
  19. 【Python】统计数据标准差(总体标准差,样本标准差)
  20. 比Postman还好用的API神器Eolink,效率担当

热门文章

  1. 学习利器:工欲善其事,必先利其器
  2. 中科大5名博士生凌晨2点处置实验室漏水,被重奖12万元
  3. 斯坦福新书《决策算法》,694页PDF免费下载
  4. ResNeSt 登顶COCO数据集(目标检测,实例分割,全景分割)
  5. 分布式事务篇——第一章:分布式事务前言
  6. MVVM框架原理浅谈
  7. 主要元素(超过一半元素)
  8. 文档相似度之词条相似度word2vec、及基于词袋模型计算sklearn实现和gensim
  9. 集成学习之Bagging
  10. 数字证书采用公钥体制进行加密和解密。每个用户有一个私钥,用它进行 (46)。。。