2015-08-13 4 views
1

У меня есть PropertyEditor в ExtJS.Sencha ExtJS PropertyEditor Цвет ячейки сетки

Ext.define('PropertyEditorGrid', { 
    //... 
    this.flexColumnGrid = Ext.create('Ext.grid.property.Grid', {//... 
      listeners:{ 
      propertychange: function (source, recordId, value,oldValue,eOpts){ 
       me.valueChange(me.id,recordId,value==null?null:value.toString(), oldValue==null?null:oldValue.toString()); 
      } 
      }//... 
    } 

Я хочу использовать функцию «propertychange», если значение не подходит затем распечатать текст ячейки сетки в красном цвете, в противном случае печати в черном цвете. Я пытался использовать http://skirtlesden.com/articles/styling-extjs-grid-cells, но это мне не помогает.

+0

использование afteredit в том, что получить столбец эль добавить CSS к нему – Raghavendra

+0

Я добавил следующую функцию: edit: function (editor, e) { \t \t e.grid.cls = 'x-grid-wrong-value'; console.log ('afteredit'); \t} в css: .x-grid-wrong-value {color: # f00} Я вижу сообщение журнала, но текст не красный – revell

+0

получить td el с e. он будет в e.column добавить класс к этому или использовать validateEdit listener – Raghavendra

ответ

0

вы можете сделать, как этот

Ext.get(e.row.getElementsByTagName('td')[e.colIdx]).addCls('wrongclass'); 

в случае редактирования

вы можете использовать validateEdit, чтобы отменить редактирование, если это необходимо ..

Смежные вопросы