我将渲染器应用到我的网格列, 但背景颜色没有改变:
renderer: function(value, meta) {
if (parseInt(value) > 0) {
meta.tdCls = 'category-matching'; return value;
}
else {
meta.tdCls = 'category-not-matching'; return value;
}
}
的CSS:
.x-grid-cell .category-matching {
background-color:green;
}
.x-grid-cell .category-not-matching {
background-color:red;
}
我也试过
.grid-cell-inner
和
background-color:red; !important
但没有效果。
有什么想法吗?
答案 0 :(得分:35)
试试这个......
renderer : function(value, meta) {
if(parseInt(value) > 0) {
meta.style = "background-color:green;";
} else {
meta.style = "background-color:red;";
}
return value;
}
它对我有用。
答案 1 :(得分:2)
灵感来自Select Smile ......这对我有用:
var myRender = function (value, metaData, record, rowIndex, colIndex, store, view) {
if (parseInt(value) < 0) {
metaData.attr = 'style="background-color:#ffaaaa !important;"';
}
return value
};
和字段
{id: 'dta', dataIndex: 'days_to_arrival', renderer: myRender}
就是这样。
PS。在ExtJS v2.2.1下完成
答案 2 :(得分:1)
参考这些例子
Ext.onReady(function(){
Ext.create('Ext.data.Store', {
storeId:'simpsonsStore',
fields:['name', 'email', 'change'],
data:{'items':[
{ 'name': 'Lisa', "email":"lisa@simpsons.com", "change":100 },
{ 'name': 'Bart', "email":"bart@simpsons.com", "change":-20 },
{ 'name': 'Homer', "email":"home@simpsons.com", "change":23 },
{ 'name': 'Marge', "email":"marge@simpsons.com", "change":-11 }
]},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
});
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: Ext.data.StoreManager.lookup('simpsonsStore'),
columns: [
{ header: 'Name', dataIndex: 'name' },
{ header: 'Email', dataIndex: 'email', flex: 1 },
{ header: 'Change', dataIndex: 'change', tdCls: 'x-change-cell' }
],
height: 200,
width: 400,
viewConfig: {
getRowClass: function(record, index) {
var c = record.get('change');
if (c < 0) {
return 'price-fall';
} else if (c > 0) {
return 'price-rise';
}
}
},
renderTo: Ext.getBody()
});
});
<强> CSS:强>
.price-fall .x-change-cell {
background-color: #FFB0C4;
color:red;
}
.price-rise .x-change-cell {
background-color: #B0FFC5;
color:green;
}
答案 3 :(得分:0)
尝试
.x-grid-cell.category-matching {
background-color:green;
}
.x-grid-cell.category-not-matching {
background-color:red;
}
答案 4 :(得分:0)
renderer: function (value, metaData) {
if (parseInt(value) > 0) {
metaData.tdStyle = 'background-color:#ffaaaa';
}
return value
}
答案 5 :(得分:0)
您可以在此类中设置样式:
js:
columns: {
items: [
{
...
innerCls: 'column-ltr',
}]
css:
.column-ltr{
direction :rtl;
}