EXTJS根据值Value改变gridpanel单元格背景颜色或者设置整行字体颜色
2014-11-26 12:10
1151 查看
第一步. 设置样式
.reportColor4{
background: #93A9C1;
}
.reportColor5{
background: #EEEEEE;
}
第二步.修改单元格样式
header : '流通类型',
width : 80,
sortable : true,
align : 'center',
dataIndex: 'BR_TYPE',
// css : 'background: #acdaf4;', // ----- 设置整个单元格的样式,但是不能根据条件变化
renderer:function(v,cellmeta){
if(v==1){ // 判断值类型
cellmeta.css="reportColor4"; // 设置样式
return "<span style='color:white'>借出</span>"; // 改变输出字体颜色
}else if(v==2){
cellmeta.css="reportColor5";
return "<span style='color:green'>归还</span>";
}else{
return "<span style='color:blue'>未知</span>";
}
}
第二步.修改整行颜色
根绝value值修改整行的颜色,需要配置在grid的viewConfig中
viewConfig : {forceFit : true,
getRowClass:function(record,index,p,ds) {
var cls = 'white-row';
switch (record.data.STATUS) {
case '0' : cls = 'x-grid-record-green'; break;
case '1' : cls = 'x-grid-record-yellow'; break;
case '2' : cls = 'x-grid-record-orange'; break;
case '3' : cls = 'x-grid-record-red'; break;
case '4' : cls = 'x-grid-record-gray'; break;
}
return cls;
}
}
当然,字体样式也是需要定义的
.x-grid-record-gray table{ color: #948d8e; }
.x-grid-record-red table{ color: red; }
.x-grid-record-yellow table{ color: blue; }
.x-grid-record-green table{ color: green; }
.x-grid-record-orange table{ color: orange; }
========= 备注=================
[b]renderer方法很常用,先看下renderer: function()里的参数
renderer:function(value, cellmeta, record, rowIndex, columnIndex, store){
}
1.value是当前单元格的值
2.cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。
3.record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。
4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。
5.columnIndex列号太简单了。
6.store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用,唉,太厉害了。[/b]
.reportColor4{
background: #93A9C1;
}
.reportColor5{
background: #EEEEEE;
}
第二步.修改单元格样式
header : '流通类型',
width : 80,
sortable : true,
align : 'center',
dataIndex: 'BR_TYPE',
// css : 'background: #acdaf4;', // ----- 设置整个单元格的样式,但是不能根据条件变化
renderer:function(v,cellmeta){
if(v==1){ // 判断值类型
cellmeta.css="reportColor4"; // 设置样式
return "<span style='color:white'>借出</span>"; // 改变输出字体颜色
}else if(v==2){
cellmeta.css="reportColor5";
return "<span style='color:green'>归还</span>";
}else{
return "<span style='color:blue'>未知</span>";
}
}
第二步.修改整行颜色
根绝value值修改整行的颜色,需要配置在grid的viewConfig中
viewConfig : {forceFit : true,
getRowClass:function(record,index,p,ds) {
var cls = 'white-row';
switch (record.data.STATUS) {
case '0' : cls = 'x-grid-record-green'; break;
case '1' : cls = 'x-grid-record-yellow'; break;
case '2' : cls = 'x-grid-record-orange'; break;
case '3' : cls = 'x-grid-record-red'; break;
case '4' : cls = 'x-grid-record-gray'; break;
}
return cls;
}
}
当然,字体样式也是需要定义的
.x-grid-record-gray table{ color: #948d8e; }
.x-grid-record-red table{ color: red; }
.x-grid-record-yellow table{ color: blue; }
.x-grid-record-green table{ color: green; }
.x-grid-record-orange table{ color: orange; }
========= 备注=================
[b]renderer方法很常用,先看下renderer: function()里的参数
renderer:function(value, cellmeta, record, rowIndex, columnIndex, store){
}
1.value是当前单元格的值
2.cellmeta里保存的是cellId单元格id,id不知道是干啥的,似乎是列号,css是这个单元格的css样式。
3.record是这行的所有数据,你想要什么,record.data["id"]这样就获得了。
4.rowIndex是行号,不是从头往下数的意思,而是计算了分页以后的结果。
5.columnIndex列号太简单了。
6.store,这个厉害,实际上这个是你构造表格时候传递的ds,也就是说表格里所有的数据,你都可以随便调用,唉,太厉害了。[/b]
相关文章推荐
- EXTJS根据值Value改变gridpanel单元格背景颜色或者设置整行字体颜色
- 根据绑定的值的不同改变gridview里某一单元格的字体或背景颜色
- extjs grid设置某列背景颜色和字体颜色的方法
- iOS中通过设置CSS改变WebView字体大小,颜色,背景颜色
- 快速设置UINavbar的属性包括背景 title的颜色字体以及改变返回键的图片
- 怎么改变Extjs控件的样式(字体颜色、背景颜色等)
- ExtJS GridPanel 根据条件改变字体颜色
- 在shell或者perl中改变字体或背景的颜色
- extjs grid设置某列背景颜色和字体颜色的实现方法
- Android通过selector选择器设置Button或者textview的背景颜色,字体颜色
- Extjs Grid根据行内容设置不用字体颜色
- RadioGroup的Radiobutton点击时改变字体颜色和背景颜色(采用Xml文件设置)
- extjs grid设置某列背景颜色和字体颜色
- iOS中通过设置CSS改变WebView字体大小,颜色,背景颜色
- ASP.NET--TreeView中被选中Node改变背景或者字体颜色。
- 在shell或者perl中改变字体或背景的颜色
- ExtJS GridPanel 根据条件改变字体颜色
- ExtJS GridPanel根据条件改变字体颜色
- iOS中通过设置CSS改变WebView字体大小,颜色,背景颜色