Динамическое добавление подсетки к идентичной родительской сетке
Мне нужна возможность добавлять случайное количество подсеток в jqgrid. По существу, подсетка идентична родительской jqgrid, за исключением того, что заголовки столбцов скрыты. Есть ли способ, где я могу определить сетку один раз, скажем, в методе js-файла и передать идентификатор сетки и URL-адрес данных в качестве параметра, а затем добавить различные версии себя в его subGridRowExpand после его определения. Просто кажется очень трудоемким определить несколько версий одной и той же jqgrid внутри другой.
Могу ли я сделать что-то вроде
var i = 0;
var maxsubgrids = 5;
function CreateGrid(gridId, dataUrl) {
$(gridId).grid(
...... Grid definition
subGridRowExpand: function(subgrid_id, row_id) {
if (subgridcount < maxsubgrids){
CreateGrid('#subgridId' + i++, subgridDataURL);
}
}
......... continue with grid definition
}
Я знаю, что вышеупомянутое не правильно, но просто идея, но я думаю, что было бы лучше, если бы сетка могла быть просто создана один раз в методе, а затем найти способ вставить раздел subGridRowExpand впоследствии. Это вообще возможно?
1 ответ
Вы должны рассмотреть возможность использования TreeGrid вместо Subgrids. Важно понимать, что подэлементы TreeGrid всегда имеют одинаковое количество столбцов, как и его родительские элементы. Я полагаю, это соответствует требованиям, которые у вас есть. Расширения узла дерева nodeid
, parentid
а также n_level
будет автоматически добавлен в список параметров URL (см. документацию).