根据数据库值extjs4.2更改记录的颜色

时间:2016-01-28 09:00:40

标签: javascript css extjs extjs4.2

我试图根据数据库表中的字段值更改记录背景颜色,但是我没有成功这样做。知道什么可能阻止这种变化? 我的数据库中字段的名称是STATUS。

  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;
    }

会改变背景颜色。

2 个答案:

答案 0 :(得分:0)

您是否尝试在网格面板上使用渲染? 在这种情况下,您也可以尝试使用tpl。 状态值可以在渲染函数中使用,以返回行的不同值。设置样式属性,你应该解决你的问题。

答案 1 :(得分: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'
}