如果subgrid为空,我怎么能隐藏它? 我尝试了this solution和this,但没有运气。
答案 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();
}
}
也许存在更简单优雅的解决方案,但对我而言,它的工作方式与我预期的一样。