ID строки jqGrid и пользовательская информация с данными JSON - PullRequest
1 голос
/ 15 ноября 2009

У меня проблема с использованием jqGrid с данными JSON, возвращенными с сервера.

У меня есть сетка, которая отображает различные типы объектов - и, поскольку объекты разных типов, два могут иметь один и тот же идентификатор. jqGrid, похоже, использует поле id, если данные устанавливают идентификатор dom строки, поэтому я получаю две строки с одинаковым идентификатором dom.

Можно ли как-то настроить, как jqGrid назначает идентификаторы для строк таблицы?

Кроме того, если я отправляю обратно данные JSON, которые я не хочу отображать в сетке (например, URL для просмотра всей записи) - есть ли способ получить это позже? getRowData (), кажется, возвращает только данные, отображаемые в TD в сетке, а не в исходных данных JSON. userdata, кажется, работает только для всей таблицы, а не для отдельных строк .. или я ошибаюсь?

Спасибо за любую помощь.

1 Ответ

2 голосов
/ 17 ноября 2009

В вашем объекте JSON, который входит в jqGrid, вы можете сделать поле идентификатора другим именем, которое что-то значит для вас.

  [ { customId: 'A13' }, {customId: 'B13'} ]
  // do define two widgets A and B with the same ID of 13

Чтобы хранить разные данные о строках, вы можете просто хранить их как скрытые столбцы, они будут возвращаться при выполнении getRowData ();

$('#myGrid').jqGrid({
   ...
   colNames: ['Title', 'Price', 'HiddenLink', 'HiddenSKU'],
   colModel: [               
               { name: 'Title', index: 'Title' },
               { name: 'Price', index: 'Price' },
               { name: 'HiddenLink', index: 'HiddenLink', hidden: true },
               { name: 'HiddenSKU' , index: 'HiddenSKU' , hidden: true }
             ],
   ...
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...