Ответ 1
Или, не используя API jqGrid, вы сможете получить верхнюю строку, переместив DOM:
var top_rowid = $('#mygrid tbody:first-child tr:first').attr('id');
Как программно выбрать верхнюю строку JQGrid. Я хочу, чтобы верхняя строка была выбрана, когда она открыта на странице. Моя сетка сортируется по описательному столбцу, поэтому первым идентификатором строки может быть любое число. Я знаю, что метод использовать Я просто не знаю, как получить rowid для верхней (первой) строки. Метод:
jQuery("#mygrid").setSelection(rowid, true);
Или, не используя 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]);
$("#mygrid").getDataIDs()[0]; // SO now requires 30 characters, so....
Полный код, когда таблица имеет строку заголовка:
var top_rowid = $('#mygrid tr:nth-child(2)').attr('id');
$("#mygrid").setSelection(top_rowid, true);
Когда у вас есть строка заголовка, попробуйте следующее:
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.
Я использовал следующее:
var grid = $('#list');
grid.jqGrid({
...
gridComplete: function() {
var ids = grid.jqGrid("getDataIDs");
if(ids.length > 0) {
grid.jqGrid("setSelection", ids[0]);
}
},
...
});