Кнопка Добавить панель инструментов используется для добавления новой строки в jqgrid.Форма добавления, которая появляется, содержит все поданные поля пустыми.Как установить значения полей добавления из значений столбцов из строки, которая была текущей / выбранной при вводе команды добавления?JSON удаленных данных используется.Или, если это проще, как вызвать метод сервера, передавая текущую / выбранную строку, чтобы получить значения по умолчанию для формы добавления с сервера?
jqgrid также содержит скрытые столбцы.Если возможные значения из скрытых столбцов из текущей строки также должны быть отправлены, чтобы добавить контроллер, если форма добавления сохранена.
Обновление
Я попытался использовать прекрасное предложение Олега, используя
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 событие запускается только один раз, а не после каждого сохранения.Как это исправить, чтобы можно было добавить несколько строк со значениями по умолчанию, не закрывая форму добавления?Как отменить или не разрешить команду добавления, если выбранной строки нет?