Подтвердить что ты не робот

Как программно выбрать верхнюю строку JQGrid?

Как программно выбрать верхнюю строку JQGrid. Я хочу, чтобы верхняя строка была выбрана, когда она открыта на странице. Моя сетка сортируется по описательному столбцу, поэтому первым идентификатором строки может быть любое число. Я знаю, что метод использовать Я просто не знаю, как получить rowid для верхней (первой) строки. Метод:

jQuery("#mygrid").setSelection(rowid, true);
4b9b3361

Ответ 1

Или, не используя API jqGrid, вы сможете получить верхнюю строку, переместив DOM:

var top_rowid = $('#mygrid tbody:first-child tr:first').attr('id');

Ответ 2

Ответ выше был близок, но дело было отключено. Это должно быть:

$("#mygrid").getDataIDs()[0];

Это должно работать должным образом.

Ответ 3

jqGrid поддерживает метод setSelection, который нужно просто вызвать правильно:

var grid = jQuery("#mygrid"),
    ids = grid.jqGrid("getDataIDs");
if(ids && ids.length > 0)
    grid.jqGrid("setSelection", ids[0]);

Ответ 4

 $("#mygrid").getDataIDs()[0]; // SO now requires 30 characters, so....

Ответ 5

Полный код, когда таблица имеет строку заголовка:

var top_rowid = $('#mygrid tr:nth-child(2)').attr('id'); 
$("#mygrid").setSelection(top_rowid, true);

Ответ 6

Когда у вас есть строка заголовка, попробуйте следующее:

var top_rowid = $('#mygrid tbody:first-child tr:nth-child(2)').attr('id');

Ответ 7

Если у вас есть строка заголовка, попробуйте это:

$('#tb_par tbody:first-child tr:nth-child(2)').trigger("click");

Если не:

$('#mygrid tbody:first-child tr:first').trigger("click");

Он непосредственно инициирует событие клика JqGrid.

Ответ 8

Я использовал следующее:

var grid = $('#list');
grid.jqGrid({
    ...
    gridComplete: function() {
        var ids = grid.jqGrid("getDataIDs");
        if(ids.length > 0) { 
            grid.jqGrid("setSelection", ids[0]);
        }
    },
    ...
});