java jqgrid json格式_jquery – 在jqgrid中使用JSON数据的Treegrid

您尝试使用绝对错误的格式化数据的树网格.您应该将树网格看作一个网格,其中包含一些用于定义树结构的其他隐藏列.列的名称取决于treeGridModel参数的值.我建议你使用treeGridModel:“adjacency”.在这种情况下,隐藏列的名称将是:

level,parent,isLeaf,expanded,loaded,icon

在treeGridModel:’nested’的情况下,有lft和rgt而不是父列.

因为树的每个项目(根节点和所有子项)都表示将放置在网格中的网格行,每个项目都必须具有id.在topicjson变量的原始版本中,您仅为根元素(级别0的元素)定义了ID.

我们可以将您的原始示例修改为以下内容:

var topicjson={

"response": [

{

"id": "1",level:"0",parent:"",isLeaf:false,expanded:false,loaded:true

},{

"id": "1_1","elementName": "Simple Grouping",level:"1",parent:"1",isLeaf:true,{

"id": "1_2","elementName": "May be some other grouping",{

"id": "2",expanded:true,{

"id": "2_1","elementName": "Image Formatter",parent:"2","elementName": "Anchor Formatter",loaded:true

}

]

},grid;

$('

').appendTo('#topics');

grid = jQuery("#list2");

grid.jqGrid({

datastr: topicjson,colNames: [/*"id",*/"Items",colModel: [

//{name: "id",width:250,treeGridModel: "adjacency",//autowidth: true,rowNum: 10000,root: "response"

}

});

您可以在演示here上看到修改的结果:

在示例中,我为CustomFormater节点设置了expanded:true属性,以演示您可以指定应直接显示哪些节点展开.

我从树网格中删除了隐藏的列ID,因为id将另外保存为相应的< td>的id属性.元件.如果您不打算使列可见,我建议将id属性仅放在树的输入数据中(在topicjson中).

一个更重要的评论.所有网格行的填充顺序与输入数据中的顺序完全相同.因此,您必须在其父节点之后立即放置节点的子节点.我在相应的论坛中放置了相应的change request.因此,关于树网格的输入数据的严格顺序的要求可能稍后会在某处改变.

更新:要正确排序,必须使用parent:null或parent:“null”而不是parent:“”有关详细信息,请参阅here.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值