Как я могу сделать, чтобы показать подсетки из JQgrid по умолчанию?

Ошибка типа: this.each не является функцией

return this.each(function () {это мой код из последовательности подсетей:

subGrid : true, 

        subGridRowExpanded: function(subgrid_id, row_id) {
          //var projectIdRow = $('#list2').jqGrid('getCell',rowId,'projectid');
          var subgrid_table_id;
          subgrid_table_id = subgrid_id+"_t";
          $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"'></table>");
          $("#"+subgrid_table_id).jqGrid({
            url:"/taskuri/subGrid/?id="+row_id,
            datatype: "json",
            colNames: ['SubTask',' ','Pri','Responsabil','Alocator','Alocat','Deadline','Estimat','Lucrat',' '],
            colModel: [ 
              {name:"SubTask",index:"SubTask",width:'687%',align:"left",sortable:false},
              {name:'finished',index:'finished', width:'40%',sortable:false},
              {name:"Pri",index:"Pri",width:'56%', sortable:true},
              {name:"Responsabil",index:"Responsabil",width:'128%',sortable:false},
              {name:"Alocator",index:"Alocator",width:'130%',sortable:false},
              {name:"Alocat",index:"Alocat",width:'110%',sortable:false},
              {name:"Deadline",index:"Deadline",width:'110%',sortable:false},
              {name:"Estimat",index:"Estimat",width:'76%',align:"right",sortable:false},
              {name:"Lucrat",index:"Lucrat",width:'90%',align:"right"},
              {name:"Delete",index:"Delete",width:'90%',align:"right"},
            ],
            height: '100%',
            rowNum:20,
           });
        }, 

Я хочу вещей. Во-первых, чтобы показать подсеть по умолчанию (когда я захожу на страницу). Во-вторых, без точки отображается подсетка, если там нет данных. Как я могу это сделать? Ниже я загружаю изображение, чтобы увидеть, как оно отображается, если нет данных. Спасибо

Я попробовал этот метод:

gridComplete: function(){ 
               var grid = $("#list2");
               var svi_id = grid.jqGrid('getDataIDs');
               $.each(svi_id, function (index, rowId) {
                    $(this).jqGrid.expandSubGridRow(rowId); 
// or grid.jqGrid.expandSubGridRow(rowId); 

               });
        },

и результатом является ошибка: TypeError: this.each не является функцией, возвращающей this.each(function () { { (firebug). Что не так?

2 ответа

Это правильный код для отображения подсетей по умолчанию

 gridComplete: function(){ 
                   var grid = $("#list2");
                   var svi_id = grid.jqGrid('getDataIDs');
                   $.each(svi_id, function (index, rowId) {
                        grid.jqGrid('expandSubGridRow',rowId);
                   });
            },

Проверьте для expandSubGridRow.... вы можете сделать это в вашем loadcomplete родительской сетки!!

    loadComplete: function () {
        var timeOut = 50;
        var rowIds = $("#list").getDataIDs();
        $.each(rowIds, function (index, rowId) {
            setTimeout(function () {
                $("#list").expandSubGridRow(rowId);
            }, timeOut);
            timeOut = timeOut + 200;
        });
    }
Другие вопросы по тегам