Как программно выбрать верхнюю строку JQGrid?
как программно выбрать верхнюю строку JQGrid. Я хочу, чтобы верхняя строка уже была выбрана при ее открытии на странице. Моя сетка сортируется по описательному столбцу, поэтому идентификатор первой строки может быть любым числом. Я знаю метод использования, я просто не знаю, как получить rowid для верхней (первой) строки. Метод:
jQuery("#mygrid").setSelection(rowid, true);
8 ответов
или, без использования API jqGrid, вы должны иметь возможность получить верхнюю строку, перейдя по DOM:
var top_rowid = $('#mygrid tbody:first-child tr:first').attr('id');
ответ выше был близок, но дело было. Должно быть:
$("#mygrid").getDataIDs()[0];
Это должно работать правильно.
jqGrid поддерживает setSelection
метод его просто нужно правильно назвать:
var grid = jQuery("#mygrid"),
ids = grid.jqGrid("getDataIDs");
if(ids && ids.length > 0)
grid.jqGrid("setSelection", ids[0]);
полный код, когда таблица имеет строки заголовка:
var top_rowid = $('#mygrid tr:nth-child(2)').attr('id');
$("#mygrid").setSelection(top_rowid, true);
я использовал следующие:
var grid = $('#list');
grid.jqGrid({
...
gridComplete: function() {
var ids = grid.jqGrid("getDataIDs");
if(ids.length > 0) {
grid.jqGrid("setSelection", ids[0]);
}
},
...
});
когда у вас есть строка заголовка, попробуйте это:
var top_rowid = $('#mygrid tbody:first-child tr:nth-child(2)').attr('id');
Если у вас есть строка заголовка, попробуйте следующее:
$('#tb_par tbody:first-child tr:nth-child(2)').trigger("click");
Если не чем :
$('#mygrid tbody:first-child tr:first').trigger("click");
это непосредственно вызовет событие щелчка JqGrid.