无法在jqGrid子网格中填充数据

时间:2012-10-05 22:22:35

标签: jquery jqgrid subgrid

我正在尝试在子网格中填充数据,但我无法做到这一点。我想麻烦的是我需要显示从同一个URL生成的数据。它是嵌套数据。数据是json。我四处寻找示例,有些指定需要jsonreader,有些则完全省略它。我是jquery和jgrid的新手。我希望在展开项目时显示标题字段。 我从服务器获得的数据如下:

{"total":18,"page":1,"records":18,"rows":[
    {"Name":"Jane", "Header":[{"Type":"bundle","Selected":"true"}]}

这里我需要在Subgrid中的Header中显示信息。主网格显示“行”中的信息。每个“行”都有一个标题信息,我需要在用户点击它时显示这些信息。我设法得到像[object Object]这样的显示,但我想我错过了什么。我需要解析数组并显示信息:Type和Selected。 http://www.trirand.com/blog/?page_id=393/help/subgrid-from-nested-master-grid-data/正是我所寻找的。

非常感谢任何指针。

以下是我的代码片段:

$("#grid").jqGrid({
    url: '/requestData',
    datatype: "json",
    colNames:['ID', 'Name'],
    colModel:[
        {name:'ID',index:'ID',sorttype:'int'},         
        {name:'Name',index:'Name', width:450}
    ],
    jsonReader : {
        repeatitems:false,
        root: 'rows'
    },
    loadonce:true,      
    viewrecords: true,
    autowidth: true,
    height: 400,    
    rowNum:999,  
    subGrid: true,
    subGridOptions: {
        "plusicon"  : "ui-icon-triangle-1-e",
        "minusicon" : "ui-icon-triangle-1-s",
        "openicon"  : "ui-icon-arrowreturn-1-e",
        //expand all rows on load
        "expandOnLoad" : false
    },
    subGridRowExpanded: function(subgrid_id, row_id) { 
        var subgrid_table_id; 
        subgrid_table_id = subgrid_id+"_t";
        $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'>"); 
        jQuery("#"+subgrid_table_id).jqGrid({ 
            url: '/requestData', 
            datatype: "json", 
            colNames: ['Header'], 
            colModel: [{
                name:"Header",index:"Header"}
            ], 
            jsonReader: { repeatitems:false,
                          root: "rows" },
            loadonce: true,      
            viewrecords: true,
            rowNum: 999, 
            autowidth: true,
            sortorder: "asc", 
            height: '100%'
        }); 
        jQuery("#"+subgrid_table_id).jqGrid('navGrid',{edit:false,add:false,del:false}) 
   }
});

0 个答案:

没有答案