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

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

myColModel.setEditable(colIdex,false)

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

myColModel.setEditable(colIdex,true)

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

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

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


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


Ответы (3)


arrow_upward
1
arrow_downward

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

person sdavids    schedule 20.09.2010

arrow_upward
1
arrow_downward

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

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

arrow_upward
0
arrow_downward

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

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

person neeraj    schedule 20.10.2010