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

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

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

11
задан DaveJ 24 November 2009 в 07:06
поделиться

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'
13
ответ дан 3 December 2019 в 10:44
поделиться

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

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

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

-5
ответ дан 3 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: