Как я могу скрыть подсетку, если она пуста? Я попробовал это решение и это, но не повезло.
jqGrid, как я могу скрыть подсетку, если она пуста?
Ответы (2)
Посмотрите старый ответ. Вроде как раз то, что вам нужно.
person
Oleg
schedule
22.12.2011
Было хорошее решение, но не совсем то, что мне нужно. В моем случае у меня есть строки, которые должны быть с подсеткой и должны быть без подсетки в одной таблице. Между ними различие только в том, что в одних данные представлены в подсетке, в других - нет. Link для демонстрации, если вы прокрутите вниз, вы увидите 4 строки, которые не должны быть с подсеткой
- person VaL; 22.12.2011
Кстати, я принимаю ваше решение для своей работы. Спасибо. Но все же жду ответа)
- person VaL; 22.12.2011
На основе this и Ответ Олега Я решаю свою проблему. В моей таблице все строки развернуты, поэтому код для основной таблицы выглядит следующим образом:
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('');
});
}
В этом коде я удалил действие щелчка для вложенных сеток развертывания / свертывания. Так что они всегда открыты и нет возможности их свернуть.
На основе этого i удалить пустые подсетки.
loadComplete: function(){//in subgrid
var table_value = $('#'+subgrid_table_id).getGridParam('records');
if(table_value === 0){
$('#'+subgrid_id).parent().parent().remove();
}
}
Возможно, существует более простое и элегантное решение, но для меня оно работает так, как я ожидал.
person
VaL
schedule
23.12.2011