有一列数据age,在他的renderer函数里面,如果age>20就把这行的背景设置为红色,请问这怎么做?4.0貌似没有gird.getView().getRow()方法了。gird.on("load")事情好像也没有...

解决方案 »

  1.   


    function changeAge(val){
    if (val > 20) {
       return '<span style="color:red;">' + val + '</span>';
    }
    return val;
    }
    从example里面抄的
      

  2.   


    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css">
    <script type="text/javascript" src="extjs/bootstrap.js"></script>
    <style type="text/css">
    .x-grid-background-red {
    color : #FF0000;
    }
    </style>
    <script type="text/javascript">
    Ext.onReady(function(){
    var data = [
                ['Anne', '22'],
                ['Bob', '18']
                ];
    var store = Ext.create('Ext.data.ArrayStore', {
    fields : ['name', 'age'],
    data : data
    });
    var grid = Ext.create('Ext.grid.Panel', {
    store : store,
    columns : [{
    text : 'Name',
    dataIndex : 'name'
    },{
    text : 'Age',
    dataIndex : 'age'
    }],
    height : 300,
    width : 200,
    renderTo : Ext.getBody(),
    title : 'Grid Color Test',
    viewConfig : {
    getRowClass : function(record, rowIndex, rowParams, store){
    var val = record.data.age - 0;
    if(val > 20)
    return 'x-grid-background-red';
    else
    return '';
    }
    }
    });
    });
    </script>
    </head>
    <body></body>
    </html>刚才看错了,之后又搞了下,但只能把字颜色变红的,希望对楼主有帮助