Dojo学习13 dijit.Tree 动态添加节点之一
为什么80%的码农都做不了架构师?>>>
对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 动态添加节点之一相关推荐
- treeview托拽和动态添加节点以及treeview和xml的交互的实现
前两天被winform的treeview搞晕了,现在终于有时间了,把自己用到的知识简单的写出来.供和我一样初用winform 的treeview的同志批评指正. 一.treeview的 ...
- zTree动态添加节点
在zTree上面动态添加节点要用到函数: addNodes(parentNode, [index], newNodes, isSilent) 关于这个函数的详细说明如下: 示例代码如下: //1.获取 ...
- Ambari动态添加节点
Ambari添加节点 背景 措施 操作步骤 ambari系列: Ambari 服务器节点动态换盘操作 Ambari的Metrics Collector启动后自动关闭的解决 Ambari动态添加节点 背 ...
- redis三主三从部署集群以及动态添加节点和删除节点
redis安装过程: redis6.2.6安装与学习_wtl1992的博客-CSDN博客_redis6安装1.redis在Linux上的安装github地址:Releases · redis/redi ...
- Web前端文档阅读笔记-vis.js动态添加节点(vue cli环境)
这里主要是针对vis的network图进行节点动态添加 图用的是vis.js,表单使用的是element-ui 程序运行截图如下: 添加一个节点: 这里是不需要刷新页面就能添加的. 程序结构如下: 关 ...
- 【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 ...
- java 动态加载控件_JS动态添加节点后渲染为EasyUI控件,EasyUI动态渲染解析解决方案...
这是个小菜在实际工作中遇到的问题,相信很多EasyUI新手很可能也遇到这样的问题,因此小菜觉得有必要拿出来分享一下. 这个问题要从EasyUI的datebox组件说起,小菜用这个组件的时候,发现用$( ...
- antv g6动态添加节点
前言 : antv 官方API只是提供了一般用法,但是许多实际项目有一些定制需求,往往无法实现. 最近 公司在做图谱项目,需要在展示处节点之后,点击某一个节点,实现动态追加节点, 1.动态追加: gr ...
- java树 JTree实例(可动态添加节点)
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*; class ...
最新文章
- R语言将字符型(Character)变量转化为数值型(Numeric)
- Java调用PHP,跑PHP代码
- git pull 覆盖本地_SVN与Git比较的优缺点差异
- pythonfor循环列表排序_Python Day4950(for循环语句整理)
- dat图片 电脑端微信_微信 PC 版迎来了重磅更新,可以在电脑端使用小程序了 !...
- mysql配置好后_安装完 MySQL 后必须调整的 10 项配置
- python常用代码大全-python基础,python基础代码大全
- Pycharm整体缩进
- 稳妥方法论:如何完整地设计出游戏关卡及场景
- [FAQ10908][Message]开启固定拨号FDN功能(无法发短信的原因),发送信息时如何做FDN check
- 置信区间 置信水平 边际误差
- css透明度兼容问题opacity
- 【Unity】AvProVideo 实现当前视频播放完毕自动加载下一视频
- C/C++基础题045.PUM
- vue报错:vue.js:634 [Vue warn]: Cannot find element: #app
- 使用云祺虚拟机备份软件备份H3C CAS 虚拟机
- Get a Model! Model Hijacking Attack Against Machine Learning Models
- Ubuntu、Debian 系统安装 PHP 7.4 教程,超简单,一把梭!
- 【Python】统计数据标准差(总体标准差,样本标准差)
- 比Postman还好用的API神器Eolink,效率担当