jqgrid автообновление подсетка проблема - PullRequest
0 голосов
/ 06 сентября 2011

В настоящее время я использую этот код для обновления сетки:

setInterval(function(){  jQuery("#grid").trigger("reloadGrid"); },10000);

Работает хорошо.Но мне нужно решение для расширенных подсеток.Когда сетка обновилась, расширенные подсетки закрываются.

Есть ли способ обновить сетку, не закрывая расширенные подсетки?

Ответы [ 2 ]

1 голос
/ 12 апреля 2012

Это старый вопрос, но я боролся с тем же, поэтому решил поделиться тем, что сделал.Ответ Эонасдана правильный.В моем случае я добавил код в события subGridRowExpanded и subGridRowCollapsed для хранения идентификатора строки, которая была развернута (я разрешил раскрывать только одну строку за раз, но вы также можете использовать коллекцию).Затем я добавил код в событие loadComplete для таблицы, чтобы заново открыть строку, свернутую после обратной передачи.Эта часть очевидна, но вот два кикера: 1. Повторное расширение подсетки по какой-то причине не приводит к сохранению ее данных.Поэтому мне пришлось вернуться на сервер, чтобы получить его.Я сделал это, повторно отправив строку подсетки (которая имеет идентификатор сетки, подчеркивание и rowid).2. По какой-то причине вы должны использовать таймер и расширить подсеть после задержки (даже 1 мс работает).Это похоже на то, что вы не можете развернуть сетку во время самого события loadComplete, но если вы подождете галочку, это будет работать нормально.

Так вот так:

var expandSubGrid = function(){

    $('#grid').jqGrid('expandSubGridRow', expandedRowID);
    $('#grid_' + expandedRowID).trigger('reloadGrid');
};


//the loadComplete event handler which was wired up when I created the grid
var grid_loadComplete = function () {
    //expand the subgrid
    window.setTimeout(expandSubGrid, 1);
};
0 голосов
/ 06 сентября 2011

выглядит как их демонстрационная страница меняет класс TR с sgcollapsed на sgexpanded. Я думаю, вы могли бы сохранить массив TR, которые открыты до обновления, и заново открыть их после.

Я очень мало знаю о jqGrid, но я подумал, что опубликую это, потому что, похоже, вы указали правильное направление из чата.

...