jqGrid 'selarrrow' возвращает номера строк вместо идентификаторов строк - PullRequest
1 голос
/ 27 июля 2010

Из данных JSON jqGrid, которые публикуются в браузере, я вижу, что идентификатор строки (обозначаемый "i" в данных строки JSON) отображается правильно, но когда я делаю выбор и проверяю $('#list').getGridParam('selarrrow'), онпоказывает выбранные номера строк , а не их идентификаторы.

Кто-нибудь имеет опыт работы с этим?Спасибо

ОБНОВЛЕНИЕ

Ниже приведено изображение результата JSON (копировать и вставлять не очень удобно)

(увеличенная версияизображение здесь)

Результат JSON http://i31.tinypic.com/25qwufd.png

И код JavaScript для проверки выбора:

<script type="text/javascript">
    function checkSelection(){
        alert($('#list').getGridParam('selarrrow').join());
    }
</script>

Ответы [ 3 ]

4 голосов
/ 23 августа 2010

Джастин и Олег - Я уверен, что вы попали на эту планету для решения мировых jQueries :) Еще раз спасибо за вашу помощь в решении этой проблемы.код, определения столбцов сетки не определяли столбец key, из которого можно было бы извлечь идентификатор каждой строки - как он получал i = <id> на скриншоте выше, я понятия не имею, но он определенно не использовал этот идентификаторкаждый ряд.Я изменил определение сетки на следующее:

...,
colNames: ['ID', 'Family', 'Variety', 'Type', 'EDI #', 'Colour', 'Swatch'],
colModel: [{ name: 'id', index: 'id', key: true, hidden: true },
...

(обратите внимание на key: true в colModel для столбца ID)

0 голосов
/ 27 июля 2010

Я предполагаю, что идентификаторы, которые отправляются с сервера, игнорируются, поэтому номера строк будут реальными идентификаторами строк. Вы можете проверить это с помощью метода getDataIDs внутри события loadComplete. Почему идентификаторы будут игнорироваться, я могу сказать, только если ваш пост больше информации.

0 голосов
/ 27 июля 2010

Ты уверен? Согласно документации jqGrid для selarrrow :

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

Так что, если он возвращает номера строк, в API jqGrid есть ошибка. Можно ли разместить дополнительную информацию, такую ​​как результат вашего звонка на selarrrow, а также полный список идентификаторов в сетке?

...