jquery - free-jggrid treeGrid 在表格底部展开

标签 jquery jqgrid free-jqgrid treegrid

我想对 eBay 类别使用 treeGrid。

所有类别开始折叠(图片:collapsed categories)

单击邮票后,子类别将在表格底部展开,而不是在邮票下方展开(图片: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"
},

我进行了很多测试和搜索,但找不到解决方案...... 我做错了什么以及如何解决这个问题?

最佳答案

您发布的 JSON 数据与图片不对应。您可以更新 JSON 数据或图片吗?最好准备重现问题的演示(例如,在 jsfiddle 中)。典型错误,如果输入中的项目对应您的图片顺序错误。 jqGrid(和免费的 jqGrid)要求输入节点(从 url 返回)的顺序与扩展项完全对应。重要的是要理解 jqGrid 以相同的顺序加载和放置 TreeGrid 的节点。然后它隐藏折叠的节点以及所有子节点。

我认为“Stamps”节点的子节点位于“Video Games & Consoles”之后,而不是“Stamps”之后。您应该验证并修复加载项目的顺序。

我建议您删除不需要的隐藏id另外列。选项height:'auto', autowidth:falsegridview:true免费 jqGrid 中默认存在,可以删除。选项pager:'#pager' TreeGrid 通常不需要它,但是 navGrid 则需要它。 ,例如,您可以更改 pager:'#pager'pager: true ,删除不需要的空<div id="pager"></div>并跳过'#pager'navGridinlineNav 。免费的 jqGrid 会自动生成寻呼机 div 和 navGridinlineNav也会自动使用寻呼机。

关于jquery - free-jggrid treeGrid 在表格底部展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39495322/

相关文章:

javascript - 在用户按下以 Bootstrap 模式提交表单后,如何显示成功消息?

jquery - 以编程方式对服务器数据进行本地排序 jqGrid

css - 如何在免费的 jqgrid 工具栏中同时使用 glyphicons 和 font awesome 图标

jquery - 在免费 jqgrid 中添加新行后如何从服务器设置行 ID

jquery - 如何以编程方式在 JQGrid 上添加事件处理程序?

javascript - 如何隐藏 jQgrid 中的所有复选框?

jquery - 如果免费的 jqgrid 表单编辑,如何增加字体大小和元素高度

javascript - 如何在使用 jQuery 按下后保持按钮处于事件状态

javascript - 使用文本输入字段求和时,JavaScript 中显示 NaN

javascript - 如何使用另一个 onclick 事件触发包装在一个事件中的代码