我已经在互联网和这个网站上搜索了这个问题的答案,但我还没有看到它。如果我错过了一个帖子,我深表歉意。
我要做的是使用从 SQL 查询返回的数据在 Javascript 中填充树。
SQL 查询将返回以下数据...
ROOT_NODE_ID LEVEL1_ID LEVEL1_NAME LEVEL2_ID LEVEL2_NAME LEVEL3_ID LEVEL3_NAME LEVEL4_ID LEVEL4_NAME LEVEL5_ID LEVEL5_NAME LEVEL6_ID LEVEL6_NAME LEVEL7_ID LEVEL7_NAME LEVEL8_ID LEVEL8_NAME LEVEL9_ID LEVEL9_NAME LEVEL10_ID LEVEL10_NAME
例子...
Root (ROOT_NODE_ID)
Company 1 (LEVEL1_ID)
Location 1 (LEVEL2_ID)
Information1 (LEVEL3_ID)
Location 2 (LEVEL2_ID)
Company 2 (LEVEL1_ID)
-ROOT_NODE_ID (ROOT) 指向当前节点的父节点。
-LEVEL1_ID (Company 1) 指向根的 Child
-LEVEL2_ID(位置 1)指向 LEVEL1_ID 的子级
-LEVEL3_ID(信息1)指向LEVEL2_ID的子级
- 公司 2 的创建方式与 SQL 查询中的另一行数据相同
- 位置 2 的 ROOT_NODE_ID 将等于公司 1,因为公司 1 是位置 2 的父级
我希望这是有道理的。我目前正在使用 jquery,这就是我构建树的方式......
$(function(){
$("#tree2").dynatree({
checkbox: true,
}
});
var rootNode = $("#tree2").dynatree("getRoot");
// Call the DynaTreeNode.addChild() member function and pass options for the new node
//Adding Root
var Root = rootNode.addChild({
title: "Root",
});
//Adding Level 1
var Company1 = Root.addChild({
title: "Company 1",
});
//Adding Level 1
var Company2 = Root.addChild({
title: "Company 2",
});
//Adding level 2
var Location1 = Company1.addChild({
title: "Location 1",
});
//Adding level 2
var Location2 = Company1.addChild({
title: "Location 2",
});
//Adding level 3
var Information1 = Location1.addChild({
title: "Information 1",
});
});
小时
<metadata>
<item name="ROOT_NODE_ID" type="xs:decimal" precision="38" />
<item name="LEVEL1_ID" type="xs:string" length="2002" />
<item name="LEVEL1_NAME" type="xs:string" length="512" />
<item name="LEVEL2_ID" type="xs:string" length="2002" />
<item name="LEVEL2_NAME" type="xs:string" length="512" />
<item name="LEVEL3_ID" type="xs:string" length="2002" />
<item name="LEVEL3_NAME" type="xs:string" length="512" />
<item name="LEVEL4_ID" type="xs:string" length="2002" />
<item name="LEVEL4_NAME" type="xs:string" length="512" />
<item name="LEVEL5_ID" type="xs:string" length="2002" />
<item name="LEVEL5_NAME" type="xs:string" length="512" />
<item name="LEVEL6_ID" type="xs:string" length="2002" />
<item name="LEVEL6_NAME" type="xs:string" length="512" />
<item name="LEVEL7_ID" type="xs:string" length="2002" />
<item name="LEVEL7_NAME" type="xs:string" length="512" />
<item name="LEVEL8_ID" type="xs:string" length="2002" />
<item name="LEVEL8_NAME" type="xs:string" length="512" />
<item name="LEVEL9_ID" type="xs:string" length="2002" />
<item name="LEVEL9_NAME" type="xs:string" length="512" />
<item name="LEVEL10_ID" type="xs:string" length="2002" />
<item name="LEVEL10_NAME" type="xs:string" length="512" />
</metadata>
<data>
<row>
<value>5</value>
<value>5</value>
<value>Global Root</value>
<value>10</value>
<value>Company</value>
<value>100001</value>
<value>Customer</value>
<value>100002</value>
<value>Customer Site</value>
<value>120000</value>
<value>Location</value>
<value xs:nil="true" />
<value xs:nil="true" />
<value xs:nil="true" />
<value xs:nil="true" />
<value xs:nil="true" />
<value xs:nil="true" />
<value xs:nil="true" />
<value xs:nil="true" />
<value xs:nil="true" />
<value xs:nil="true" />
</row>
</data>