如何隐藏子网格,如果它是空的?我尝试了这个解决方案,但没有运气。
看看旧答案。这似乎正是你所需要的。
基于这个和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('');
});
}
在此代码中,我删除了展开/折叠子网格的单击操作。所以它们总是打开的,不可能折叠。
在此基础上删除空子网格。
loadComplete: function(){//in subgrid
var table_value = $('#'+subgrid_table_id).getGridParam('records');
if(table_value === 0){
$('#'+subgrid_id).parent().parent().remove();
}
}
可能存在更简单和优雅的解决方案,但对我来说,它的工作如我所料