`

ZTREE学习

 
阅读更多

     公司开发需要用到jquery的ZTREE,结合公司代码和网上的事例学习了下,写点总结希望以后能用上,随着学习慢慢补充吧。

     ZTREE的官网例子和JS地址:http://code.google.com/p/jquerytree/

     首先,要在JSP中引入js文件和css文件

    

<script type="text/javascript" src="jquery.ztree-2.6.js"></script>
<link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css">

 

var zTree1;
var setting;
setting = {
			editable: false,
			checkable: false,
			showIcon : false,
			edit_renameBtn : false,
			edit_removeBtn : false,	
			
			callback: {
			//点击触发的方法
				rightClick: zTreeOnRightClick,
				mouseDown: zTreeOnMouseDown,
				click: zTreeOnClick
			}
		};
方法:
function zTreeOnRightClick(event, treeId, treeNode) {
			if (null == treeNode) {
				return false;
			}
			var level = treeNode.level;
			clickedId =  treeNode.id;
			if (level == 0) {
				zTree1.selectNode(treeNode);
				showRMenu("root", event.clientX, event.clientY);
			} else if (level == 1) {
				zTree1.selectNode(treeNode);
				showRMenu("region", event.clientX, event.clientY);
			} else if (level == 2) {
				zTree1.selectNode(treeNode);
				showRMenu("point", event.clientX, event.clientY);
			} else if(level == 3) {
				zTree1.selectNode(treeNode);
				showRMenu("device", event.clientX, event.clientY);
			}
		}	
节点:
		var zNodes = [
	    	{id:000, name:"监控点列表", open:true,
	    		nodes: ${strTree}
•	(json类型的数据格式是:id:””,nodes:[如果有和外边一样],name:””)
•	例子:
•	[{"id":"1",
•	"nodes":[	{"id":"1","nodes":[],"name":"mp1"},
	{"id":"2","nodes":[],"name":"mp2"},
	{"id":"3","nodes":[],"name":"mp3"}],
"name":"region1"},

{"id":"2",
"nodes":[  {"id":"4","nodes":[],"name":"mp4"},
{"id":"5","nodes":[],"name":"mp5"}],
"name":"region2"},
		    }						
		];
zTree1 = $("#treeDemo").zTree(setting, zNodes);

  

一、以下是ZTREE的一些常用的方法和方法返回值:

1、zTree.getNodes()      

 获取全部节点数据,不管是否采用简单数据模式(isSimpleData = true),都返回树形结构的 JSON 数据

[
    {"id":1, "name":"test1", "nodes":[
      {"id":11, "name":"test11", "nodes":[
        {"id":111, "name":"test111"}
      ]},
      {"id":12, "name":"test12"}
    ]},
    ......
];

 2、zTree. getNodeByParam(key, value) 

根据节点数据的属性精确搜索满足条件的的 JSON 数据对象,如果有多个同样属性值的节点,则只返回第一个找到的节点。

 3、zTree.getNodesByParam(key, value, parentNode)

获取某个节点下key=value的节点数据。

 4、zTree.getNodesByParamFuzzy(key, value[, parentNode])

根据节点数据的属性模糊搜索指定节点 parentNode 下面的子节点中key=value的 JSON 数据对象集合。当parentNode为空时,搜索全部节点。

 5、zTree.addNodes(parentNode, newNodes, isSilent)

参数:

parentNode: 指定的父节点,如果增加根节点,请设置 parentNode 为 null 即可。

newNodes  : Array(JSON)类型,需要增加的节点数据 JSON 对象集合,支持将节点的n级子节点一次性增加,只需要符合zTree的节点数据结构即可。

isSilent       : Boolean类型,设定增加节点后是否展开其父节点。isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。

 6、zTree.removeNode(treeNode)

删除某个节点。

 7、zTree.getSelectedNode()

获取 zTree 当前被选中的节点数据 JSON 对象。

 8、zTree.transformToArray(treeNodes)(这个方法我也不是很理解,感觉是将选定的节点转换成一个Array)

将 zTree 使用的标准格式转换为简单 Array 格式,便于将数据返回给后台

 9、zTree.selectNode(treeNode)

选中某个节点。

10、zTree.getNodeByTId(tID)

根据某个节点数据的 tId 属性获取该获取该节点的 JSON 数据对象

11、 zTree.moveNode(targetNode, treeNode, moveType)

将某节点移动到其他节点下

targetNode     :指定移动到的目标节点 JSON 数据,如果移入根节点,请设置 targetNode 为 null 即可

treeNode        :指定被移动的节点 JSON 数据

moveType       :指定移动到目标节点的相对位置("inner":成为子节点(默认值),"before":成为同级前一个节点,"after":成为同级后一个节点)

 二、setting的属性:

1、 expandSpeed 展开、折叠效果  'fast'(default)  、 'slow'、  ''三种,其中 '' 表示展开、折叠效果关

2、 setting1.isSimpleData = false;

       setting1.treeNodeKey = "id";

       setting1.treeNodeParentKey = "pId";

       isSimpleData = false时需要传json数据,=true时需要传array数据

 3、showLine    是否显示节点之间的连线。

 4、editable      是否允许节点移动。

 5、dragCopy   拖拽节点时进行复制。

 6、dragMove   拖拽节点时进行移动。

三、事件监控

 1、 beforeClick()

 2、 beforeDblclick()

 3、 beforeRightClick()

 4、 beforeMouseDown()

 5、 beforeMouseUp()

 6、 beforeChange()

 7、 beforeDrag()

 8、 confirmDragOpen()

 9、 beforeDrop()

 10、beforeRename()

 11、confirmRename()

 12、beforeRemove()

 13、beforeExpand()

 14、beforeCollapse()

分享到:
评论

相关推荐

    ZTree学习(二):异步加载树结构 - CSDN博客1

    二,异步加载使用关键,还是在setting参数上等级:访问量: 3万积分: 484排名: 10万博主最新文章ZTree学习(一):一般使用,一载数据oracle

    ztree官网示例代码,参照学习ztree学习

    该文件是从ztree官网http://www.treejs.cn/v3/demo.php#_115拿下来的,如有疑问,请联系删除

    jquery ztree学习文档

    下面介绍一下zTree 的主要功能:( 演示Demo 请访问 个人站点) 1、兼容 IE、FireFox、Chrome 等浏览器(对于IE 6.0的兼容问题将不做特殊维护) 2、在一个页面内可同时生成多个 Tree 实例 3、支持 JSON 数据 4...

    zTree帮助文档

    zTree帮助文档

    ztree官网参考文档及demo

    ztree官网参考文档,及对应的demo可以参考学习ztree树是如何实现的

    zTree demo

    使用jqueryZtree 构建的树,简单清晰的案例,方便新手学习

    selenium zTree 分析学习

    selenium学习入门,对ztree 树形操作,自动化编码的学习的入门,鼠标操作,firefox,chrome,IE各种流行浏览器下的操作,都具有详细的解释及讲解

    ssm项目结合zTree实现异步加载树。

    学习到zTree时,在实现异步加载树的时候有点疑问,最后解决了。记录一下,希望能帮助到刚刚接触到zTree的同学学习。

    ztree动态树示例

    ztree树做的一个小项目,用的mysql数据库,里面有数据库脚本,部署启动就能OK,http://localhost:8080/ztree 访问路径

    zTree官方Demo以及api文档

    zTree的官方Demo以及api文档,解压后,不要用Chrome浏览器打开,因为Chrome浏览器不能打开file://的文件,建议用Ie打开api文档学习

    zTree_v3API和demo

    zTree v3.5 Demo 演示为了让朋友们更容易的学习 zTree,对 Demo 做了全面的改版,希望大家喜欢

    ztree 全部Demo

    覆盖全部ztree demo程序 ztree标准 JSON 数据 添加、更新、删除节点 连接线显示与不显示 自定义节点图标、字体 异步加载数据 鼠标监听事件 复选框单选框使用 大数据量分页加载 ...供学习,快速企业开发使用

    官网zTree -- jQuery 树插件 官网压缩包

    官网zTree -- jQuery 树插件 官网压缩包 学习起来很方便,版本 3.x 基本来说没有要求,zTree 在开发中使用 jQuery 11111.4.4;目前简单测试过 jQuery 1.3+ 应该都能正常使用

    仿ztree部分实现的一个树插件

    仿ztree部分实现的一个树插件,只供学习使用,不得用作商业用途

    SSH框架项目学习之Ztree

    学习ssh框架的ztree总结,图文并茂,非常有利于理解

    zTree的API文档,包含示例,PHP网页演示

    ztree用过的都知道,功能强大,灵活好用,感兴趣的可以学习一下将来一定有用 zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。

    zTree树型菜单+Dom4j解析XML+struts2+spring整合_完整树型菜单权限管理案例(附源代码+API学习文档)

    附有源代码+完整的JAR包+API学习文档 前台页面展示用zTree插件,后台数据用XML保存,利用Dom4j进行解析,涉及到了对XML的增、删、改等等特别需求的技术,并用struts2+spring进行整合项目,源代码中有非常完整的注释...

    zTree树型菜单+Dom4j解释XML+struts2+spring整合_完整案例(附源代码+API学习文档)

    附有源代码+完整的JAR包+API学习文档 前台页面展示用zTree插件,后台数据用XML保存,利用Dom4j进行解析,涉及到了对XML的增、删、改等等特别需求的技术,并用struts2+spring进行整合项目,源代码中有非常完整的注释...

    mvc+EF+easyui+ztree

    自己最近两天刚做的mvc项目linq to model first,包括分页,动态加载菜单栏,登录,记住密码,权限分配(差一步,等后续),非常适合刚入mvc的人借鉴,后续有更新,请下载者留下邮箱,后续会发到你的邮箱,或有什么...

    ztree+struts2+hibernate项目

    树形结构,项目可以运行,学习价值相当大。。我研究了几个星期的结果。

Global site tag (gtag.js) - Google Analytics