①带有父子关系的标准
zTreeNodes
举例:
Js代码
1.var zTreeNodes = [
2.{"id":1, "name":"test1", "nodes":[
3.{"id":11, "name":"test11", "nodes":[
4.{"id":111, "name":"test111"}
5."id":12, "name":"test12"}
②带有父子关系的简单
Array
格式
(isSimpleData)的zTreeNodes
举例:
Js代码
1.var treeNodes = [
2. {"id":1, "pId":0, "name":"test1"},
3.{"id":11, "pId":1, "name":"test11"},
4. {"id":12, "pId":1, "name":"test12"},
5. {"id":111, "pId":11, "name":"test111"},
例子:
(Java代码)
①在页面引用
zTree的js和css:
Html代码
1.
<!-- ZTree树形插件 -->
2.<link
rel="stylesheet"
href="<%=root%>/Web/common/css/zTreeStyle/zTreeStyle.css"type
="text/css">
3.<!-- <link rel="stylesheet" href="<%=root%>/Web/common/css/zTreeStyle/zTreeIcons.css" type="text/css"> -->
4.<script ype="text/javascript"src="<%=root%>/Web/common/js/jquery-ztree-2.5.min.js"
></script>
树形的数据结构很固定,如果你不知道什么是树,那就先去补补数据结构吧。知道什么是树了,就开始考虑ui,ui中每个树节点应当具有一个维持当前状态的变量,这个状态就是当前节点是展开的还是收缩的,并且要添加对应的鼠标事件,以便切换节点的状态,单个节点处理完毕,就要考虑到子节点的问题,当一个节点因事件展开后,其所有子节点应该按照原有顺序显示出来,首先为了保持树形的ui特点,它们应该是距离其父节点有一定距离的,然后,它们也应当向其父节点一样能够在鼠标事件中切换状态从可见的行列表中提取部分: NSArray *indexPathsForVisibleRows = [tableView indexPathsForVisibleRows]NSMutableIndexSet *indexSet = [NSMutableIndexSet indexSet]
for ( NSIndexPath *indexPath in indexPathsForVisibleRows ) {
[indexSet addIndex:indexPath.section]
}
NSLog(@"indexSet %@",indexSet)
// indexSet <NSMutableIndexSet: 0x11a5c190>[number of indexes: 5 (in 1 ranges