Как установить значения полей по умолчанию для формы добавления в jqgrid из текущего ряда

Кнопка панели инструментов Add используется для добавления новой строки в jqgrid. Появившаяся форма добавления содержит все заполненные поля пустыми. Как установить значения полей формы добавления из значений столбцов строки, которая была текущей/выбранной при выдаче команды добавления? Используются удаленные данные json. Или, если это проще, как вызвать метод сервера, передав текущую/выбранную строку, чтобы получить значения по умолчанию для формы добавления с сервера?

jqgrid содержит также скрытые колонки. Если возможно, значения из скрытых колонок из текущей строки должны также отправляться в контроллер add при сохранении формы добавления.

Обновление

Я попытался использовать замечательное предложение Олега, используя

         afterShowForm: function(formID) {
           var selRowData, 
               rowid = grid.jqGrid('getGridParam', 'selrow');
           if (rowid === null) {
             // todo: how to cancel add command here
             alert('Please select row');
             return;
             }

           selRowData = grid.jqGrid('getRowData', rowid);
           if (selRowData === null) {
             alert('something unexpected happened');
             return;
             }

           $('#' + 'Baas' + '.FormElement', formID).val(selRowData.Baas);
           }

Приложение держит форму добавления открытой после сохранения. После первого сохранения поле Baas пустое. Похоже, что событие afterShowForm выполняется только один раз, а не после каждого сохранения. Как это исправить, чтобы можно было добавлять несколько строк со значениями по умолчанию, не закрывая форму добавления? Как отменить или не разрешить команду Add, если нет выбранной строки?

5
задан Andrus 30 October 2011 в 15:45
поделиться