ограничить редактирование одной ячейкой в ​​строке editorGrid

в моем editorGrid у меня есть один столбец с редактором dateField, когда сетка отображается, я устанавливаю это поле в недоступное для редактирования:

myColModel.setEditable(colIdex,false)

его можно будет редактировать после изменения значения в другой ячейке в той же строке

myColModel.setEditable(colIdex,true)

проблема в том, что все ячейки в столбце доступны для редактирования

как я могу сделать, чтобы только ячейка в выбранной строке редактировалась

и большое спасибо


person cranberies    schedule 19.09.2010    source источник


Ответы (3)


Используйте прослушиватель «beforeedit» в EditorGrid — вы можете проверить поле, которое они пытаются редактировать. Если другое поле не установлено, верните false, чтобы запретить им редактировать это поле.

person sdavids    schedule 20.09.2010

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

dataBound: function (){
       var grid = this;
       var trs = this.tbody.find('tr').each(function(){
         var item = grid.dataItem($(this));
         if( item.UnitPrice % 5 == 0) {
           $(this).find('.k-grid-edit,.k-grid-delete').hide();
         }
       });               
     },
person Namrata Shrivas    schedule 29.03.2014

Вы можете сделать это по-другому, просто переопределив функцию isCellEditable. Проверьте ссылку ниже.

http://www.sencha.com/learn/Ext_FAQ_Grid#Disable_editing_of_particular_rows.2C_columns.2C_etc

person neeraj    schedule 20.10.2010