EXTjs ViewConfig rowclass

时间:2017-03-07 22:24:50

标签: javascript html css extjs

使用Extjs我正在寻找从网格中的一行更改background-color。到目前为止,我只能改变一种颜色。

这是我的ViewConf

viewConfig: {
        getRowClass: function (record, index) {
            switch (record.get('status')){
                case 'load': return 'blue-row';break;
                case 'miss': return 'blue-row';break;
                case 'Active': return 'green-row';break;
                default: return 'white-row'; break;
            }
        }
    }

在我的css文件中我有:

.green-row .x-grid-cell {
background-color: #43CE45 ;
}​
.white-row .x-grid-cell {
background-color: #FFFFFF ;
}​
.blue-row .x-grid-cell {
background: #C4C4C4;
}​

只是在css列表中的第一个被绘制,其他被忽略。在这种情况下,只有绿色的行被涂成绿色,其他的,虽然他们有分配的类,但它们没有被绘制。如果我改变了顺序,那么只需要在网格中绘制第一个。

如何为网格行设置多种颜色?我见过的所有例子都只使用了主要和默认的2种颜色。

提前致谢!

1 个答案:

答案 0 :(得分:0)

或许,在record.get('status')miss的情况下,Active的验证不会失败。
尝试调试程序并通过执行以下操作检查状态:

viewConfig: {
        getRowClass: function (record, index) {

            console.log('status => ' + record.get('status'));

            switch (record.get('status')){
                case 'load': return 'blue-row';break;
                case 'miss': return 'blue-row';break;
                case 'Active': return 'green-row';break;
                default: return 'white-row'; break;
            }
        }
    }

See that fiddle case is working