2016-09-14 53 views
2

我想爲eBay類別使用treeGrid。free-jggrid treeGrid展開在表格的底部

所有產品類別開始坍塌(圖:collapsed categories

klicking上郵票後子類別擴展在表的底部,不低於郵票(PIC:expanded category Stamps

我的表定義:

$('#list').jqGrid({ 
cmTemplate:{sortable:false, autoResizable: true}, 
multiSort: false, 
url:'/admin/ebay/kategorien/get_jqgrid', 
datatype:'json', 
mtype:'POST', 
jsonReader:{ repeatitems: false }, 
colModel:[{name:'id',index:'id',width:1,hidden:true,key:true}, 
      {name:'name', label:'Name', width:200}, 
      {name:'site_id', label:'Site', width:60}, 
      {name:'cat_id', label:'Kat.-ID', width:60}, 
      {name:'leaf_category', label:'Erlaubt', width:60}, 
      {name:'in_use', label:'Benutzen', width:64, 
      formatter:'checkbox', align:'center', stype:'select', 
      editoptions:{value:':Alle;-:-;+:+'}}], 
pager:'#pager', 
height:'auto', 
autowidth:false, 
shrinkToFit:false, 
guiStyle: 'bootstrap', 
viewrecords:true, 
gridview:true, 
loadComplete: function() { 
$(this).triggerHandler('resize.jqGrid'); 
}, 
editurl:'/admin/ebay/kategorien/edit', 
iconSet:'fontAwesome', 
treeGrid:true, 
treeGridModel:'adjacency', 
ExpandColumn:'name', 
ExpandColClick:'true', 
caption:'eBay-Kategorien' 
}); 

數據示例:

{ 
"site_id":"0", 
"cat_version":"114", 
"cat_id":"20081", 
"cat_level":"1", 
"name":"Antiques", 
"parent_id":"20081", 
"leaf_category":"0", 
"in_use":"0", 
"id":"20081", 
"level":0, 
"parent":"null", 
"isLeaf":"false", 
"expanded":"false" 
}, 
{ 
"site_id":"0", 
"cat_version":"114", 
"cat_id":"260", 
"cat_level":"1", 
"name":"Stamps", 
"parent_id":"260", 
"leaf_category":"0", 
"in_use":"0", 
"id":"260", 
"level":0, 
"parent":"null", 
"isLeaf":"false", 
"expanded":"false" 
}, 
{ 
"site_id":"0", 
"cat_version":"114", 
"cat_id":"181423", 
"cat_level":"2", 
"name":"Africa", 
"parent_id":"260", 
"leaf_category":"0", 
"in_use":"0", 
"id":"181423", 
"level":1, 
"parent":"260", 
"isLeaf":"false", 
"expanded":"false" 
}, 

我測試和搜查了很多,但我找不到解決方案... 我做錯了什麼,我該如何解決這個問題?

+0

您發佈的JSON數據不對應圖片。你可以更新JSON數據或圖片。準備演示(例如,在jsfiddle中)可以重現問題。典型的錯誤,對應你的圖片是錯誤的順序,如果項目在輸入。 jqGrid(和免費的jqGrid)要求輸入節點的順序(從'url'返回)完全對應** expanded **項。我想*「郵票」節點的孩子*在「視頻遊戲和控制檯」之後,而不是「郵票」之後**。我建議你另外刪除不需要的隱藏的「id」列。 – Oleg

+0

謝謝,奧列格。順序是問題。 – Michael

+0

不客氣!我很高興能幫助你。我發佈了我的答案。你可以[「接受」](http://meta.stackexchange.com/a/5235/147495)它並獲得你的第一個聲望點。 – Oleg

回答

0

您發佈的JSON數據與圖片不符。你可以更新JSON數據或圖片。準備演示(例如,在jsfiddle中)可以重現問題。典型的錯誤,對應你的圖片是錯誤的順序,如果項目在輸入。 jqGrid(和免費的jqGrid)要求輸入節點(從url返回)的順序完全對應擴展項。理解jqGrid以相同的順序加載和放置TreeGrid的節點是很重要的。然後它隱藏與所有孩子一起摺疊的節點。

我想「郵票」節點的孩子是「視頻遊戲&控制檯」,而不是「郵票」後。您應該驗證並修復加載項目的順序。

我建議您另外刪除不需要的隱藏的id列。選項height:'auto', autowidth:falsegridview:true是免費jqGrid中的默認選項,可以刪除。該選項pager:'#pager'不是通常需要的TreeGrid,但你需要它爲navGrid,例如,你可以改變pager:'#pager'pager: true,刪除不需要的空<div id="pager"></div>navGridinlineNav跳過'#pager'。免費jqGrid會自動生成尋呼機div,navGridinlineNav也會自動使用尋呼機。