2016-09-14 17 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也会自动使用寻呼机。