【问题标题】:JqGrid - SubGrid not showing upJqG​​rid - 子网格未显示
【发布时间】:2010-08-11 08:01:56
【问题描述】:

我在我的 MVC 项目中使用 JqGrid-subGrid 选项来获得嵌套的 gridview 外观。 我能够在父网格中填充数据,我已经启用了子网格并给出了 subGrid Url 来填充内部网格数据。现在的问题是,执行页面时 subgrid 没有出现,不仅如此,subGridUrl: 方法也没有被调用。谁能帮我找出背后的原因?以下是我的代码:

jQuery(document).ready(function () {

     jQuery("#list").jqGrid({

         url: '/jqgrid/DynamicGridData/',

         datatype: 'json',

         mtype: 'GET',

         colNames: ['SurveyQnGrpId', 'SurveyQnGroup1'],

         colModel: [
              { name: 'SurveyQnGrpId', index: 'SurveyQnGrpId', width: 40, align: 'left' },

              { name: 'SurveyQnGroup1', index: 'SurveyQnGroup1', width: 400, align: 'left'}],

            pager: jQuery('#pager'),

         rowNum: 10,

         rowList: [5, 10, 20, 50],

         sortname: 'SurveyQnGrpId',

         sortorder: "SurveyQnGroup1",

         viewrecords: true,

         caption: 'My first grid',

            subGrid: true,

            subGridUrl: '/jqgrid/InnerGridData/',

         subGridModel: [
            {

                name: ['SurveyQnGrpId','SurveyQnId', 'SurveyQn', 'SurveyQnCategory', 'MandatoryQn','RadioOption3'],

                width: [10,10, 100, 10, 10,10],

                align: ['left', 'left', 'left', 'left'],

                params: ['SurveyQnGrpId']

            }]

     });
 });

提前致谢, 安西

【问题讨论】:

    标签: asp.net jqgrid


    【解决方案1】:

    我发现转储内置子网格并使用他们的“subgrid-as-grid”示例动态插入全新的网格更容易:

    From their wiki:

    subGrid: true,
    subGridRowExpanded: function(subgrid_id, row_id) {
    // we pass two parameters
    // subgrid_id is a id of the div tag created within a table
    // the row_id is the id of the row
    // If we want to pass additional parameters to the url we can use
    // the method getRowData(row_id) - which returns associative array in type name-value
    // here we can easy construct the following
       var subgrid_table_id;
       subgrid_table_id = subgrid_id+"_t";
       jQuery("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table>");
       jQuery("#"+subgrid_table_id).jqGrid({
          url:"subgrid.php?q=2&id="+row_id,
          datatype: "xml",
          colNames: ['No','Item','Qty','Unit','Total'],
          colModel: [
            {name:"num",index:"num",width:80,key:true},
            {name:"item",index:"item",width:130},
            {name:"qty",index:"qty",width:80,align:"right"},
            {name:"unit",index:"unit",width:80,align:"right"},           
            {name:"total",index:"total",width:100,align:"right",sortable:false}
          ],
          height: 100%,
          rowNum:20,
          sortname: 'num',
          sortorder: "asc"
       });
    

    【讨论】:

    • 好提示。甚至没有看那个。这种方式也允许更多的可定制性。 +1
    【解决方案2】:

    你需要添加

    subGrid: true,
            jsonReader : {
                root: "rows",
                page: "page",
                total: "total",
                records: "records",
                repeatitems: true,
                cell: "cell",
                id: "id",
                subgrid: {
                    root: "rows",
                    repeatitems: true,
                    cell: "cell",
                    id: "id"
                }
            },
    

    你还需要下载新的 jqgrid SRC 目录并选择所有组件,因为我认为有依赖关系

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多