free-jggrid treeGrid 在 table 底部展开
free-jggrid treeGrid expands at bottom of the table
我想为 eBay 类别使用 treeGrid。
所有类别开始折叠(图片:collapsed categories)
点击 Stamps 后,子类别会在 table 的底部展开,而不是在 Stamps 下方(图片:expanded category Stamps)
我的table定义:
$('#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"
},
我进行了多次测试和搜索,但找不到解决方案...
我做错了什么,我该如何解决?
JSON 你发的数据和图片不符。您能否更新 JSON 数据或图片。最好准备重现问题的演示(例如,在 jsfiddle 中)。典型错误,对应你的图片输入顺序错误。 jqGrid(和免费的 jqGrid)要求输入节点(从 url 返回)的顺序与扩展项完全对应。了解 jqGrid 以相同的顺序加载和放置 TreeGrid 的节点很重要。然后它隐藏 折叠的节点和所有子节点。
我假设 "Stamps" 节点的子节点是 after "Video Games & Consoles" 而不是在 "Stamps" 之后。您应该验证并修复加载项的顺序。
我建议您另外删除不需要的隐藏 id
列。选项 height:'auto', autowidth:false
和 gridview:true
在免费的 jqGrid 中是默认的,可以删除。 TreeGrid 通常不需要选项 pager:'#pager'
,但是 navGrid
需要它,例如,然后您可以将 pager:'#pager'
更改为 pager: true
,删除不需要的空 [=17] =] 并跳过 navGrid
或 inlineNav
中的 '#pager'
。免费的 jqGrid 会自动生成寻呼机 div 并且 navGrid
或 inlineNav
也会自动使用寻呼机。
我想为 eBay 类别使用 treeGrid。
所有类别开始折叠(图片:collapsed categories)
点击 Stamps 后,子类别会在 table 的底部展开,而不是在 Stamps 下方(图片:expanded category Stamps)
我的table定义:
$('#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"
},
我进行了多次测试和搜索,但找不到解决方案... 我做错了什么,我该如何解决?
JSON 你发的数据和图片不符。您能否更新 JSON 数据或图片。最好准备重现问题的演示(例如,在 jsfiddle 中)。典型错误,对应你的图片输入顺序错误。 jqGrid(和免费的 jqGrid)要求输入节点(从 url 返回)的顺序与扩展项完全对应。了解 jqGrid 以相同的顺序加载和放置 TreeGrid 的节点很重要。然后它隐藏 折叠的节点和所有子节点。
我假设 "Stamps" 节点的子节点是 after "Video Games & Consoles" 而不是在 "Stamps" 之后。您应该验证并修复加载项的顺序。
我建议您另外删除不需要的隐藏 id
列。选项 height:'auto', autowidth:false
和 gridview:true
在免费的 jqGrid 中是默认的,可以删除。 TreeGrid 通常不需要选项 pager:'#pager'
,但是 navGrid
需要它,例如,然后您可以将 pager:'#pager'
更改为 pager: true
,删除不需要的空 [=17] =] 并跳过 navGrid
或 inlineNav
中的 '#pager'
。免费的 jqGrid 会自动生成寻呼机 div 并且 navGrid
或 inlineNav
也会自动使用寻呼机。