2014-01-28 57 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); 
        }); 
      }, 
相關問題