我遇到了自動加載樹網格的問題。 目前我有一個只有2層深的結構。jqGrid自動加載Treegrid問題。 。
1
a
b
c
2
a
當我點擊展開節點,網格似乎添加根節點的另一個實例再次以及基於選擇的根節點上應該已經顯示出哪個子節點(或多個)。
1
1
a
b
c
這裏看看XML選擇根節點之前:
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<page>1</page>
<total>1</total>
<records>1</records>
<row>
<cell>1112</cell>
<cell>Parent 1</cell>
<cell>0</cell>
<cell>NULL</cell>
<cell>false</cell>
<cell>false</cell>
</row>
</rows>
這裏是看看XML選擇根節點後:
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<page>1</page>
<total>1</total>
<records>1</records>
<row>
<cell>1112</cell>
<cell>Parent 1</cell>
<cell>0</cell>
<cell>NULL</cell>
<cell>false</cell>
<cell>false</cell>
</row>
<row>
<cell>5207</cell>
<cell>Child 1</cell>
<cell>1</cell>
<cell>1112</cell>
<cell>false</cell>
<cell>false</cell>
</row>
</rows>
而且,這是我的配置:
$(document).ready(function(){
$("#gReport").jqGrid({
treeGrid: true,
treeGridModel: 'adjacency',
ExpandColumn: 'company',
url: document.forms['frmReport'].elements['gaddr'].value,
datatype: 'xml',
mtype: 'GET',
colNames: ["ID", "Company"],
colModel: [
{name: 'id', index: 'id', width: 1, hidden: true, key: true},
{name: 'company', index: 'company', width: 40, hidden: false, sortable: true}
],
rowNum: -1,
width: 980,
height: 'auto',
pager: false,
caption: ''
}),
});
An Ÿ幫助將不勝感激。 謝謝。 -chris
謝謝你的迴應。 我已添加您爲「已加載」建議的附加字段。 因此,在第一次加載時,該字段表示錯誤。點擊父級以擴大字段,然後說真實,但是這以相同的行爲結束。我有父母重複,但與第二例顯示下面的孩子。 另外我不能將第一個孩子標記爲葉,因爲第二個等級也是可擴展的(我的結構是3級深)。 任何想法? – cra 2011-05-03 18:37:25
@cra:您應該在xml文件的所有''元素末尾添加' true | '。這意味着所有節點都具有「真實」作爲「加載」屬性。這意味着XML文件包含**完整數據**,並且不應向服務器發送其他請求以檢索子筆記。 –
Oleg
2011-05-03 19:04:25
再次感謝您的回覆。 當我將' true | '添加到每個節點的末尾時,父節點將不再導致對服務器的另一個請求。這意味着它不會收到孩子信息。我必須在這裏錯過一些東西。 我正在使用Fiddler來查看HTTP請求,並在加載頁面時看到初始請求(和XML響應),然後當然會將根加載爲摺疊狀態。但是,當我單擊根節點以展開和展示其子級時,不會向服務器請求子級信息。我究竟做錯了什麼? –
cra
2011-05-03 23:36:21