Редактирование jqGrid ТОЛЬКО через режим формы - PullRequest
0 голосов
/ 27 октября 2009

В моих сетках на странице всем им нужно не только отключить встроенное редактирование, но ТАКЖЕ следует редактировать ТОЛЬКО через модальную форму.

Однако поворот редактируемого: ложь, хотя и предотвращает встроенные изменения, также предотвращает редактирование через форму (в форме не видно столбцов, только кнопки «Отправить» и «Отмена»)

Как я могу повлиять на это поведение? Или это невозможно с текущей версией (3.5.2)

Я также попытался включить редактируемые (: true) (после отключения в объявлении colModel) в обработчиках событий beforeFormShow и onInitializeForm, но в формах редактирования или добавления столбцы не отображаются.

Большое спасибо за ваше понимание ...

Вот что я делаю -

           var addprm = { 
                     width: 450, 
                     height: 200,
                     top: 125, 
                     left: 50, 
                     beforeShowForm: function(formId) {
                         id= jQuery('#list10').getGridParam('selrow');
                         alert('From AddPrm: formId=' + formId + " id=" + id);
                         var ret = jQuery('#table').getRowData(id);
                         jQuery('#list10').setColProp('tr_a_name',{editable:true});
                         jQuery('#list10').setColProp('tr_a_desc',{editable:true});
                         jQuery('#list10').setColProp('tr_a_comments',{editable:true});
                     },  
                     reloadAfterSubmit:true, 
                     closeAfterAdd:true
             };

И так же, как и для объекта editprm, с префиксом tr_ и без (как в colModel)

1 Ответ

1 голос
/ 30 декабря 2009

Полагаю, вы можете переопределить метод onSelectRow, чтобы он не вызывал ответ row_edit и вызывал ответ модели. вот так:

jQuery("#grid_id").jqGrid({
  ....init stuff.....
  onSelectRow: function(id){
     jQuery("#grid_id").editGridRow( id, properties );
  }
  .....other stuff......
 })
...