首先在jsp里面写上相关的css,如下。
<style type="text/css">
.x-grid-back-red {
background: #e4765c;
}
.x-grid-back-green {
background: #93de8b;
}
.x-grid-back-yellow{
background: #FFFF80;
}
</style>
列模式如下。
var colml=new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),
//sm,
{header: "院线", width:100, sortable:true,align:'left', dataIndex: 'sp_name'} ,
{header: "影院", width:200, sortable:true,align:'left', dataIndex: 'cinema_name'} ,
{header: "出票终端", width:150, sortable:true,align:'center', dataIndex: 'terminal_code',renderer:parsetStatus} ,
{header: "错误类型", width:200, sortable:true,align:'left', dataIndex: 'ITEM_CODE'} ,
{header: "错误描述", width:450, sortable:true,align:'left', dataIndex: 'ITEM_VALUE' } ,
{header: "更新时间", width:150, sortable:true,align:'left', dataIndex: 'LAST_UPD_DATE' } ,
{header: "出错", width:50, sortable:true,align:'center', dataIndex: 'isError', hidden:true} ,
{id:'id',header: "ID", width:50,sortable:true, dataIndex: 'id', hidden:true}
]
);
在"出票终端"的列,使用了renderer属性,调用函数parsetStatus,如下。
function parsetStatus(value,cellmeta,record){//"状态"列文字与样式
if(record.data["isError"]=='T'){
cellmeta.css='x-grid-back-red';
return value;
}else if(record.data["isError"]=='F'){
alert(cellmeta.cellId);
cellmeta.css='x-grid-back-green';
return value;
}
}
下面贴上我搜到的资料,真是好东西啊!
renderer:function(value, cellmeta, record, rowIndex, columnIndex, store){// 1.value是当前单元格的值
// 2.cellmeta里保存的是该单元格属性,id对应列号,css对应该列的css样式。
// 3.record是这行的所有数据,例如alert(record.data["id"])。
// 4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。
// 5.columnIndex列号太简单了。
// 6.store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用,唉,太厉害了。
} (来自:http://blog.sina.com.cn/s/blog_60ba16ed0100w0p7.html)