jqGrid我怎么能隐藏subgrid呢?

时间:2011-12-22 11:01:13

标签: jqgrid subgrid

如果subgrid为空,我怎么能隐藏它? 我尝试了this solutionthis,但没有运气。

2 个答案:

答案 0 :(得分:0)

看看the old answer。这似乎正是你所需要的。

答案 1 :(得分:0)

根据this和Oleg的回答,我解决了我的问题。 在我的表中,所有行都被展开,因此主表的代码如下所示:

gridComplete: function(){
   var table_name = 'table_18';
   var myGrid = $('#'+table_name);
   var rowIds = myGrid.getDataIDs();
   $.each(rowIds, function (index, rowId){
          myGrid.expandSubGridRow(rowId);
   });

   var subGridCells = $("td.sgexpanded",myGrid[0]);
   $.each(subGridCells,function(i,value){
          $(value).unbind('click').html('');
   });
}

在此代码中,我删除了展开/折叠子网格的点击操作。所以他们总是开放的,没有可能使他们崩溃。

基于this我删除空的子网格。

loadComplete: function(){//in subgrid 
        var table_value = $('#'+subgrid_table_id).getGridParam('records');
        if(table_value === 0){
            $('#'+subgrid_id).parent().parent().remove();
        }
}

也许存在更简单优雅的解决方案,但对我而言,它的工作方式与我预期的一样。