Получение исходных данных строки из jqGrid

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

Как получить исходное содержимое до применения преобразований форматирования? К вашему сведению, я заполняю таблицу с помощью JSON.


person DaveJ    schedule 24.11.2009    source источник


Ответы (2)


Мне пришлось немного покопаться в документации, чтобы найти решение, чтобы увидеть его в исходном контексте, перейдите сюда: jqGrid Data Manipulation, в частности, в конце раздела под названием« Пользовательские данные ».

Сначала измените реализацию jsonReader следующим образом:

 jsonReader: {
      root: 'Data',
      page: 'Page',
      total: 'Total',
      records: 'Records',
      userdata : 'Data',
      repeatitems: false,
      id: 'Id'
 }

Обратите внимание, что для параметра userdata установлено то же значение, что и для root 'Data'.

В моем случае мне нужно было получить исходные данные строки, когда пользователь выбрал строку. Я реализовал это следующим образом:

 onSelectRow: function(rowid) {
                    processRow(rowid);
                }

Чтобы получить данные в методе строки процесса, у меня есть следующее:

var rowData = $("#resultGrid").getGridParam('userData')[rowId - 1];

Где #resultGrid - это ссылка на мой jqGrid.

Затем это вернет исходные данные, привязанные к этой строке, до того, как было применено какое-либо форматирование.

Несколько замечаний:

  1. В моем случае сетка разбивается на страницы, поэтому набор результатов никогда не превышает 10 элементов, поэтому `` пользовательские данные '' не будут становиться слишком большими
  2. Сортировка выполняется на стороне сервера, поэтому индекс rowId всегда будет возвращать правильное значение из 'userData'
  3. В то время как 'userdata', указанная как опция в jsonReader, все в нижнем регистре, чтобы получить его с помощью getGridParam, вам нужно указать его как 'userData'
person R Bremner    schedule 09.03.2010
comment
+1 Теперь вам нужно, чтобы значения root и userdata были строками, а не Data, но в остальном он отлично работает с последней версией. - person Justin; 12.05.2011

Вот как получить данные ячейки из строки.

var rowData = jQuery(this).getRowData(rowId);
var colData = rowData['columnName']);

columnName - это имя столбца таблицы.

person sun    schedule 11.03.2010
comment
Это получает содержание, а не ценность; - person Dan; 24.06.2010