1

次のようなサンプル グリッドがあるとします。

+-----------------+-------+-------+--------+
| PRODUCT NAME    | PRICE | STOCK | STATUS |
+-----------------+-------+-------+--------+
| PRODUCT A       |   10  |   15  |   0    |
+-----------------+-------+-------+--------+
| PRODUCT B       |   17  |   12  |   1    |
+-----------------+-------+-------+--------+

私がやりたいことは、フィールドに基づいてグリッド行の色を変更することですSTATUS。フィールドのステータスが等しい場合1、行の色は異なるはずです。

モデル

Ext.define('Article', {
extend: 'Ext.data.Model',
fields: [
    {name: 'ID', type: 'int'},
    {name: 'ART_NR', type: 'int'},
    {name: 'ART_DESC', type: 'string'},
    {name: 'SORTEN_TEXT', type: 'auto'},
    {name: 'VAR', type: 'int'},
    {name: 'GEBI_NR', type: 'int'},
    {name: 'SUBSYS_ART_NR', type: 'int'},
    {name: 'STATUS', type: 'int'}
]
});

Json ストア

var articles = new Ext.data.JsonStore({
model: 'Article',
proxy: {
    type: 'ajax',
    url: '<?php echo base_url() ?>create/get_article',
    reader: {
        type: 'json',
        root: 'articleList',
        idProperty: 'ID'
    }
}
});

グリッド パネル

            {
            xtype: 'gridpanel',
            id: 'variant-grid',
            store: articles,
            columnLines: true,
            columns: [
                {
                    text: 'TANIM',
                    width: 235,
                    dataIndex: 'SORTEN_TEXT',
                    renderer: function (value, metaData, record) {
                        if (value == null) {
                            return record.get('ART_DESC');
                        } else {
                            return record.get('SORTEN_TEXT');
                        }
                    }
                },
                {text: 'VARIANT', dataIndex: 'VAR', width: 90, align: 'center'},
                {text: 'GEBI', dataIndex: 'GEBI_NR', width: 90, align: 'center'},
                {text: 'SUBSYS', dataIndex: 'SUBSYS_ART_NR', width: 110, align: 'right'},
                {text: 'STATUS', dataIndex: 'STATUS', hidden: true}
            ],
            style: {
                fontFamily: 'DINPro-Regular',
                fontSize: '10pt',
                marginBottom: '10px'
            },
            height: 180,
            width: '100%',
            loadMask: {msg: 'Artikel bilgileri yükleniyor...'},
            selModel: selModels
        }
4

1 に答える 1