この質問に対する回答のためにインターネットとこのWebサイトを精査しましたが、まだ見ていません。私が郵便を見逃した場合、私の謝罪。Javascriptの動的ツリーにSQLクエリのデータを入力する方法
私がしようとしているのは、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は、当社1場所2
の親であるため-Location 2のROOT_NODE_IDは、会社1等しくなるSQLクエリからのデータの別の行と同じように作成されます
これは意味があると思います。あなたはツリー構造を構築しているとき、再帰関数を使用することが重要である...
$(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/en-us/library/bb677290.aspx)を使用した階層のサポートが組み込まれています。 – Makotosan