使用数据库列和&amp ;;验证Extjs Grid列。相应地将行颜色更改为绿色或红色(EXTJS 4.2.1)

时间:2015-07-01 06:38:59

标签: grails extjs

您好我正在使用extjs版本4.2.1

我有一个extjs网格,我通过从CSV文件中读取数据来填充

这是代码

var store1;

Ext.onReady(function() {
    store1 = new Ext.data.JsonStore({
    storeId: 'myStore1',
    pageSize: 20,
    proxy: {
         type: 'ajax',
         url:'loadGrid',
          reader: {
            type: 'json',
            root: 'items'
          }

    },
    fields: ['Code','Number','Labels']

}); 
 var grid = Ext.create('Ext.grid.Panel', {
    store: store1,
    stateful: false,
    layout:'fit',
    enableColumnMove: true,
    enableColumnResize:true,  

    columns: [
        {
            text : '<b>' + 'Code' + '</b>',
            width:120,
            sortable : true,
            dataIndex: 'Code',
         },
         {
             text : '<b>' + 'Serial Number' + '</b>',
             width :120,
             sortable : true,
             dataIndex: 'Number'
         },
         {
             text : '<b>' + 'Labels' + '</b>',
             width :80,
             sortable : true,
             dataIndex: 'Labels'
         },
         {
             text : '<b>' + 'ModCode' + '</b>',
             width :120,
             sortable : true,
             dataIndex: 'test1'
         },
         {
             text : '<b>' + 'Description' + '</b>',
             width :175,
             sortable : true,
             dataIndex: 'test2'
         },
         {
             text : '<b>' + 'Error' + '</b>',
             width :160,
             sortable : true,
             dataIndex: 'test3'
         }}              
    ],

    height: 350,
    width: 920,
    renderTo: 'csvGrid',
    viewConfig: {
        stripeRows: true,
        enableTextSelection:true
    }
});
store1.reload();});

**我想做什么**

如果匹配数据库表列'CustomerCode',我想验证网格列'Code',然后我想将网格行更改为Green 如果它与网格列代码值与数据库列值不匹配,即代码不存在,那么我想将网格行更改为红色

我怎么能这样做,请帮助我使用Grails 2.1.0&amp; extjs 4.2.1

1 个答案:

答案 0 :(得分:1)

使用getRowClass方法,并根据'Code'值为行添加不同的类名。请参阅下面显示的代码。

viewConfig: {    
    getRowClass: function(record, rowIndex, rp, ds){ 
        if(record.get('Code')=="CustomerCode"){
            return 'row-green';
        } 
        else {  
            return 'row-red';
        }
    }
},

<强> CSS

.row-green{
   background-color: green;   
}
.row-red{
    background-color: red;
}