目标:读取一个层次架构构树。
主程序:
var treeSource=data.treeNode;
var treeNode = new Array();
if(treeSource){
// 递归获取子node
treeNode.push({name:treeSource.name, value:treeSource.value, children:$biosMain.getTreeNode(treeSource.children),
nodeType:treeSource.nodeType, itemStyle: {normal: {color: $biosMain.getItemStyle(treeSource.nodeType)}}});
data.treeNode是一个java对象,见: 递归例子(Java) http://blog.youkuaiyun.com/textboy/article/details/46544115
FileOrganizationNode treeNode = new FileOrganizationNode();
public class FileOrganizationNode {
private String name;
private Integer value;
private String nodeType;
private List<FileOrganizationNode> children;
getTreeNode方法:
// 递归获取子node
getTreeNode:function(treeSource){
if(treeSource){
var childNode = new Array();
$.each(treeSource, function(i, item){
childNode.push({name:item.name, value:item.value, children:$biosMain.getTreeNode(item.children), nodeType:item.nodeType,
itemStyle: {normal: {color: $biosMain.getItemStyle(item.nodeType)}}});
});
return childNode; // 通过return childNode串联递归
}
return null;
},
getItemStyle:function(nodeType){
if ("person" == nodeType) {
return '#cc9999';
} else if ("dept" == nodeType) {
return '#cc3333';
}
return '';
}
treeNode内容:
本文介绍了一种使用JavaScript递归方法构建组织架构树的方法。该方法能够从顶层节点开始,逐级向下获取并构建子节点,同时为不同类型的节点(如人员节点和个人节点)设置不同的样式。
145

被折叠的 条评论
为什么被折叠?



