2013-05-09 45 views
0

我使用本地数据加载treegrid。出于某种原因,jqGrid显示基于“name”属性的单元格值,而不是colModel的“jsonmap”属性。jqGrid treegrid填充本地数据 - jsonmap不工作

这里是网格和本地数据的简化版本。通过以下配置,我在“数量”列中获得空值。但是,如果在“mydata”中将“qty1”更改为“qty”,则会在“数量”列中获取值。

var mydata = {"rows":[ 
    {id: 1221,name: "P1",qty1: "1", level: 0,parent: "NULL",isLeaf: false, loaded: true, expanded: true}, 
    {id: 1222,name: "P1-Child",qty1: "2", level: 1,parent: 1221,isLeaf: true, loaded: true, expanded: true} 
]}; 

jQuery("#bomTable").jqGrid({ 
     treeGrid:true, 
     treeGridModel:'adjacency', 
     ExpandColumn:'name', 
     treedatatype: "local", 
     datatype: "local", 
     data: mydata, 
     jsonReader: { 
      repeatitems: false 
     }, 
     colNames:['ID', 'Name', 'Qty'], 
     colModel:[ 
      {name:'id', hidden: true}, 
      {name:'name', index:'name'}, 
      {name: 'qty', jsonmap: 'qty1', index: 'qty'} 
     ], 
     width:'auto', 
     height:'auto', 
     shrinkToFit:false 
    }); 

    jQuery("#bomTable")[0].addJSONData({ 
     total: 1, 
     page: 1, 
     records: mydata.rows.length, 
     rows: mydata.rows 
    }) ; 

将不胜感激任何投入!

回答

2

问题是,您使用datatype: "local"jsonmap将不会在案件中使用(请参阅jqGrid代码的the lines)。

我建议您改用datatype: "jsonstring"(代码示例请参见the answer)。

The demo提供了您的代码的固定版本。它显示

enter image description here

它使用代码

var mydata = {"rows": [ 
    {id: 1221, name: "P1",  qty1: "1", level: 0, parent: "NULL", isLeaf: false, loaded: true, expanded: true}, 
    {id: 1222, name: "P1-Child", qty1: "2", level: 1, parent: 1221, isLeaf: true, loaded: true, expanded: true} 
]}; 

$("#bomTable").jqGrid({ 
    treeGrid: true, 
    treeGridModel: "adjacency", 
    ExpandColumn: "name", 
    treedatatype: "local", 
    datatype: "jsonstring", 
    datastr: mydata, 
    jsonReader: { 
     repeatitems: false 
    }, 
    colNames: ["Name", "Qty"], 
    colModel: [ 
     {name: "name"}, 
     {name: "qty", jsonmap: "qty1"} 
    ], 
    height: "auto", 
    sortname: "name", 
    shrinkToFit: false, 
    autoencode: true, 
    gridview: true 
}); 
+0

完美。谢谢! – RRK 2013-05-09 18:35:26

+0

@RRK:不客气! – Oleg 2013-05-09 19:26:05