2014-01-28 56 views
0

类型错误:this.each不是一个函数默认情况下,我如何从JQgrid中显示子网格?

回报this.each(函数(){这是我的代码从亚格顺序:

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, 
      }); 
     }, 

我想要的东西首先显示次网格默认情况下(当我访问页面时);其次,如果没有数据,那么没有点显示子网格,我该怎么做?下面我上传一个图像,看看它是如何显示的,如果没有数据。thx enter image description here

我试过这个方法:

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)。哪里不对 ?

回答

0

检查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; 
     }); 
    } 
+0

你可以给我一个例子,子网格正确的代码? thx – Chester

+0

我更新了我的帖子,请检查它 – Chester

0

这是默认显示

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