Скрытие столбца «Подсетка» с помощью jQuery("#grid_id").hideCol('subgrid');
удалить полный столбец, который можно использовать для раскрытия или свертывания подсетки, поэтому вы не можете использовать способ в вашем случае.
Я предлагаю вам очистить содержимоестолбца 'subgrid' и отсоедините событие 'click' для ячеек внутри loadComplete дескриптор события:
loadComplete: function() {
$("td.sgcollapsed:not(:first)","#list").unbind('click').html('');
}
вы получите следующие результаты: (Вы можетесм. соответствующий пример в прямом эфире здесь ).Важно понимать, что событие loadComplete будет вызываться на любой странице, поэтому на второй странице у вас будет subrgid также только в первой строке.
Если вам нужно реализовать большеСложная логика в выборе строк, которые должны иметь подсетки, вы можете использовать следующий код
loadComplete: function() {
var grid = $("#list");
var subGridCells = $("td.sgcollapsed",grid[0]);
$.each(subGridCells,function(i,value){
if (i!==0) {
$(value).unbind('click').html('');
}
});
}
Приведенный выше код делает то же самое, что и выражение $("td.sgcollapsed:not(:first)","#list").unbind('click').html('')
, но вы можете легко изменить последнюю версию кода нареализовать более сложное поведение.
ОБНОВЛЕНО : если вам нужна детализированная подсетка только для некоторой строки, обозначенной rowid
, вы можете использовать
$("#"+rowid+" td.sgcollapsed",grid[0]).unbind('click').html('');
(см. в прямом эфире здесь ) внутри loadComplete
.Если вам нужно отключить подсеть для всех строк, идентификатор которых не равен rowid
, вы можете сделать что-то вроде следующего:
$('td.sgcollapsed:not("#'+rowid+' td.sgcollapsed")',grid[0]).unbind('click').html('');
(см. Live здесь )
ОБНОВЛЕНО : бесплатно jqGrid теперь есть новая функция, описанная в ответ : hasSubgrid
обратный вызов, который можно указать в subGridOptions
.Это позволяет сообщать jqGrid, какие строки не должны иметь подсеток.