我已經搜索了互聯網和本網站以獲取該問題的答案,但我還沒有看到它。如果我錯過了一個帖子,我很抱歉。如何使用來自SQL查詢的數據填充Javascript動態樹
我想要做的是使用從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(公司1)指向根的兒童
-LEVEL2_ID(位置1)指向的LEVEL1_ID
-LEVEL3_ID(信息1)點孩子的LEVEL2_ID
兒童- 公司2將創建以同樣的方式從SQL訪問數據的另一行
-Location 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",
});
});
MH
<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>
肯定同意克里斯托弗關於每深度沒有功能的答案。 你應該也不會再重返每個級別一個單獨的列。父Id身份驗證技術運行良好,或者如果您使用的是Microsoft SQL Server 2008,則它使用HierachyId類型(http://technet.microsoft.com/zh-cn/library/bb677290.aspx)構建對層次結構的支持。 – Makotosan 2012-02-21 17:01:55