Extjs通过Columns的renderer属性给单元格设置背景色

想要实现图片中的效果:
最终实现的效果

主要代码:
view

Ext.define('MyApp.view.MyGridPanelMuniDesk', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.mygridpanelmunidesk',

    id: 'munideskTab',
    margin: 1,
    collapsible: true,
    title: 'MUNI Desk Risk',
    forceFit: true,

    initComponent: function() {
        var me = this;

        Ext.applyIf(me, {
             viewConfig: {
                 enableTextSelection:true,
             },
            columns: [
                {
                    xtype: 'gridcolumn',
                    dataIndex: 'book',
                    text: ''
                },
                {
                    xtype: 'numbercolumn',
                    align: 'right',
                    dataIndex: 'pv01lim',
                    text: 'PV01 Limit',
                    format: '0,000'
                },
                {
                    xtype: 'numbercolumn',
                    align: 'right',
                    dataIndex: 'pv01curr',
                    text: 'Curr PV01',
                    renderer : CurrPV01Change,
                    format: '0,000'
                },
                {
                    xtype: 'numbercolumn',
                    align: 'right',
                    dataIndex: 'lmvlim',
                    text: 'LMV Limit',
                    format: '0,000'
                },
                {
                    xtype: 'numbercolumn',
                    align: 'right',
                    dataIndex: 'lmvcurr',
                    text: 'Curr LMV',
                    renderer : LMVChange,
                    format: '0,000'
                },
                {
                    xtype: 'numbercolumn',
                    align: 'right',
                    dataIndex: 'smvlim',
                    text: 'SMV Limit',
                    format: '0,000'
                },
                {
                    xtype: 'numbercolumn',
                    align: 'right',
                    dataIndex: 'smvcurr',
                    text: 'Curr SMV',
                    renderer : SMVChange,
                    format: '0,000'
                }
            ]
        });

        me.callParent(arguments);
    }

});

css:

.x-grid-cell.changered
{
    background-color: red;
}
.x-grid-cell.changeyellow
{
    background-color: yellow;
}

renderer : SMVChange:

//Make the "Curr SMV" cell  background color red if the "Curr SMV" value >= "Shutdown SMV" value
function SMVChange(value, cellmeta, record, rowIndex, columnIndex, store)  { 
    if (value!=0 && record.data["smvlim"]!="undefined" &&  value >= record.data.smvlim) { 
        cellmeta.tdCls="changered";
        return '<span style="color:white;">' + Ext.util.Format.number(value,'0,000') + '</span>'; 
    } else { 
        return '<span>' + Ext.util.Format.number(value,'0,000') + '</span>'; 
    } 
}

PS:function SMVChange(value, cellmeta, record, rowIndex, columnIndex, store) ,参数需要按照顺序写,刚开始不知道写成function SMVChange(value,record) , 结果报错:
Uncaught TypeError: Cannot read property ‘style’ of undefined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值