jqgrid получает значения из выпадающего списка внутри ячейки - PullRequest
0 голосов
/ 02 марта 2011

Я использую тип выбора внутри столбца, когда я генерирую XML из данных сетки, я не могу получить значение ячейки типа выбора.

Это мой код:

{name:'code',index:'code', width:80, sorttype:"int" , editable:true,edittype:"select",
                                         editoptions:
                                         {
                                           value:"1:11 ;2:22" }

и генерирование xml происходит с:

var dataFromGrid = grid.jqGrid ('getRowData');
  var xml = xmlJsonClass.json2xml ({Row: dataFromGrid}, '\t');

Я получаю внутри xml "11" целое число "1".

Как я могу получить опциюзначение?

Заранее благодарен.

Ответы [ 3 ]

1 голос
/ 23 июля 2011

Я должен был сделать это в режиме локальной обработки:

var rows = jQuery(this).getRowData();
var cols = jQuery(this).jqGrid('getGridParam', 'colModel');
for (var col in cols) {
     if (cols[col].edittype == 'select') {
         var VALs = cols[col].editoptions.value;
         if (typeof (VALs) == "object") {
             for (var row in rows) {
                 for (var v in VALs) {
                     if (rows[row][cols[col].name] == VALs[v]) {
                           rows[row][cols[col].name] = v;
                                break;
                      }
                  }
              }
           }
        }
 }
0 голосов
/ 09 июля 2013

если вам нужен только выбранный идентификатор в данных, вы можете указать formatter: 'select'

...
{
  name: 'unit', index: 'unit', editable: true, formatter: 'select', edittype: 'select', editrules: { required: true }, editoptions: { value: "1:11 ; 2:22" }
},
...

затем получение данных сетки:

var griddata = $('#gridID').getGridParam('data');
alert(JSON.stringify(griddata));
0 голосов
/ 02 марта 2011

Если вы используете datatype:"xmlstring", он будет изменен на «локальный» тип данных после заполнения сетки.Как и в случае datatype:"local", сетка имеет внутренний параметр data, который представляет данные сетки, а не визуализацию текущей страницы данных, которые вы получаете с помощью

var dataFromGrid = grid.jqGrid ('getRowData');

. Поэтому я рекомендую вам использовать

var dataFromGrid = grid.jqGrid ('getGridParam', 'data');

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

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