JqGrid - SubGrid не отображается - PullRequest
       3

JqGrid - SubGrid не отображается

2 голосов
/ 11 августа 2010

Я использую опцию JqGrid-subGrid в своем проекте MVC, чтобы получить вложенный вид сетки.Мне удалось заполнить данные в родительской сетке, я включил подсеть и дал URL подсети для заполнения данных внутренней сетки.Теперь проблема заключается в том, что при выполнении страницы подсетка не отображается, не только потому, что метод subGridUrl: не вызывается.Может ли кто-нибудь помочь мне выяснить причину этого?Ниже мой код:

jQuery (документ) .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']

            }]

     });
 });

Заранее спасибо, Анси

Ответы [ 2 ]

4 голосов
/ 11 января 2011

Мне было проще сбросить встроенную подсетку и использовать их пример "подсетка как сетка" для вставки новой сетки на лету:

Из их вики:

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"
   });
2 голосов
/ 11 января 2011

вам нужно добавить

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 и выбрать все компоненты, так как я думаю, что есть зависимости

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...