Extjs根據條件設定表格某行背景色

來源:互聯網
上載者:User

話不多說,貼上代碼

html代碼:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><link rel="stylesheet" type="text/css" href="../extjs3/resources/css/ext-all.css" /><script type="text/javascript" src="../extjs3/adapter/ext/ext-base.js"></script><script type="text/javascript" src="../extjs3/ext-all.js"></script><script type="text/javascript" src="array-grid.js"></script><style type="text/css">.my_row_class{ background:gray;}</style></head><body><div id="grid-example"></div></body></html>

js代碼,其中應-----隔開的代碼即為關鍵代碼,自己分析吧:

Ext.onReady(function(){    Ext.QuickTips.init();      Ext.state.Manager.setProvider(new Ext.state.CookieProvider());    // sample static data for the store    var myData = [        ['3m Co',                               71.72, 0.02,  0.03,  '9/1 12:00am'],        ['3m Co',                               71.72, 0.02,  0.03,  '9/1 12:00am'],        ['Alcoa Inc',                           29.01, 0.42,  1.47,  '9/1 12:00am'],        ['Altria Group Inc',                    83.81, 0.28,  0.34,  '9/1 12:00am'],        ['Altria Group Inc',                    83.81, 0.28,  0.34,  '9/1 12:00am'],        ['Altria Group Inc',                    83.81, 0.28,  0.34,  '9/1 12:00am'],                  ['Wal-Mart Stores, Inc.',               45.45, 0.73,  1.63,  '9/1 12:00am']    ];    /**     * Custom function used for column renderer     * @param {Object} val     */    function change(val) {        if (val > 0) {            return '<span style="color:green;">' + val + '</span>';        } else if (val < 0) {            return '<span style="color:red;">' + val + '</span>';        }        return val;    }    /**     * Custom function used for column renderer     * @param {Object} val     */    function pctChange(val) {        if (val > 0) {            return '<span style="color:green;">' + val + '%</span>';        } else if (val < 0) {            return '<span style="color:red;">' + val + '%</span>';        }        return val;    }    // create the data store    var store = new Ext.data.ArrayStore({        fields: [           {name: 'company'},           {name: 'price',      type: 'float'},           {name: 'change',     type: 'float'},           {name: 'pctChange',  type: 'float'},           {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}        ]    });    // manually load local data    store.loadData(myData);    // create the Grid    var grid = new Ext.grid.GridPanel({        store: store,        columns: [            {                id       :'company',                header   : 'Company',                 width    : 160,                 sortable : true,                 dataIndex: 'company'            },            {                header   : 'Price',                 width    : 75,                 sortable : true,                 renderer : 'usMoney',                 dataIndex: 'price'            },            {                header   : 'Change',                 width    : 75,                 sortable : true,                 renderer : change,                 dataIndex: 'change'            },            {                header   : '% Change',                 width    : 75,                 sortable : true,                 renderer : pctChange,                 dataIndex: 'pctChange'            },            {                header   : 'Last Updated',                 width    : 85,                 sortable : true,                 renderer : Ext.util.Format.dateRenderer('m/d/Y'),                 dataIndex: 'lastChange'            }        ],viewConfig : {forceFit:true       //------------------------------------------------        ,getRowClass : function(record,rowIndex,rowParams,store){         if("3m Co"==record.get('company')){        return 'my_row_class';        }        }       //------------------------------------------------    },        stripeRows: true,        autoExpandColumn: 'company',        height: 350,        width: 600,        title: 'Array Grid',        // config options for stateful behavior        stateful: true,        stateId: 'grid'    });    // render the grid to the specified div in the page    grid.render('grid-example');});

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.