2016-01-28 4 views
0

Я пытаюсь изменить цвет фона записей на основе значения поля в моей таблице базы данных, однако мне не удается это сделать. Любая идея, что могло бы предотвратить это изменение? Название поля в моей базе данных: STATUS.Изменение цвета записи на основе значения базы данных, extjs4.2

grid = new Ext.grid.GridPanel({ 
         region:'center', 
         store: gridStore, 
         cm: colModel, 
         stripeRows: true, 
         sm: _selctionModel, 
         bbar:paging, 
         viewConfig: 
         { 
          forceFit: true, 
          headersDisabled:false, 
          stripeRows: false, 
          getRowClass: function(record) { 
           return record.get('STATUS') == 'OP' ? 'child-row' : 'adult-row'; 

          } 
         }, 

CSS:

.child-row .x-grid-cell-inner{ 
    background-color:red; 
    color:red; 
} 

.adult-row .x-grid-cell-inner{ 
    background-color:blue; 
    color:blue; 
} 

Обратите внимание, что ввод:

.x-grid-cell-inner{ 
     background-color:blue; 
     color:blue; 
    } 

изменит цвет фона.

+0

Убедитесь, что ваш класс применяется правильно beacuse код, кажется, хорошо, работая скрипку для вас - https://fiddle.sencha.com/#fiddle/14kk (просто добавьте в правилах css '.lisa-row .x-grid-cell-inner {background: red;}'. –

ответ

0

Вы пытались использовать рендер на панели сетки? Вы также можете попробовать использовать tpl в этом случае. Значение статуса может использоваться в функции рендеринга для возврата различных значений строк. Задавая свойства стиля, вы должны решить свою проблему.

0

вы можете попробовать это

{ 
    xtype: 'gridcolumn', 
    renderer: function(value, metaData, record, rowIndex, colIndex, store, view) { 
     metaData.tdCls = (value=="OP")?'adult-row':'adult-row'; 
     return value; 
    }, 
    dataIndex: 'status', 
    text: 'STATUS' 
} 
+0

Пожалуйста, объясните свой код. – KittMedia

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