Как получить выбранные идентификаторы строк, отсортированные по индексу в jqgrid? - PullRequest
1 голос
/ 27 марта 2012

Я использую

getGridParam('selarrrow'); 

, чтобы получить выбранные строки, где метод возвращает мне выбранные идентификаторы строк в соответствии с их выбором, но я хочу идентификаторы в соответствии с их индексом. Мне нужно написать метод для сортировки идентификаторов или есть встроенный метод, который возвращает мне выбранные идентификаторы строк в порядке их индексов.

спасибо заранее

1 Ответ

1 голос
/ 27 марта 2012

Если вы имеете в виду индекс строки в сетке, то вам придется прибегнуть к массиву или идентификатору, возвращенному $("#gridId").jqGrid("getGridParam", "selarrrow").Вы можете использовать sort () метод Array со своей пользовательской функцией сортировки.Вы можете просто использовать тот факт, что идентификаторы - это идентификаторы <tr> элементов.Таким образом, элементы DOM <tr> имеют встроенное свойство rowIndex , которое вы можете получить с помощью $("#"+rowid)[0].rowIndex.

В упрощенном виде код может иметь следующий вид:

var selRowIds = $("#gridId").jqGrid("getGridParam", "selarrrow");

selRowIds.sort(function (id1, id2) {
    // one can use document.getElementById alternatively
    return $("#" + id1)[0].rowIndex - $("#" + id2)[0].rowIndex;
});

или вместо него можно использовать namedItem метод

var $grid = $("#gridId"),
    selRowIds = $grid.jqGrid("getGridParam", "selarrrow"),
    rows = $grid[0].rows;

selRowIds.sort(function (id1, id2) {
    return rows.namedItem(id1).rowIndex - rows.namedItem(id2).rowIndex;
});

Возможно, вам следует включить дополнительную проверку в код, чтобы быть уверенным, что элемент с идентификатором будет найден и у него естьrowIndex собственность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...