1
我們的目標是將一個cls
應用於列,我在getRowClass
上做過,然後在1-2秒後將其刪除。 websync每5秒推送一次新數據,所以當這個更改爲單元格出現時,它應該像一個變化的列(單元格)的閃爍,在新數據刷新之前返回到「白色」(默認)?用於比較新記錄的值爲0,但在實際情況下爲上一個值正在進行比較!
這裏是我的代碼:如何將自定義css類應用於extjs網格列,並將其延遲刪除?
Ext.create('Ext.grid.Panel', {
columns: [
// ...
{
header: 'Change',
dataIndex: 'change',
tdCls: 'x-change-cell'
}
// ...
],
viewConfig: {
getRowClass: function (record, index) {
var c = record.get('change');
if (c < 0) {
return 'price-fall';
// I tried setTimeout("remove-css()",1000); and
// Ext.Function.defer(remove-css, 1000);
// but no luck!!
} else if (c > 0) {
return 'price-rise';
}
}
}
// ...
});
CSS:
.price-fall .x-change-cell {
background-color: #FFB0C4;
color:red;
}
.price-rise .x-change-cell {
background-color: #B0FFC5;
color:green;
}
任何想法?
怎麼辦延遲部分,就可以實現這行代碼?如果我在返回後延遲,我得不到結果? –
不確定你的意思是'如果我在返回後延遲,我沒有得到任何結果??'。調用return語句後沒有代碼。 (函數(grid){Ext.select('。price-rise',grid.getEl())。each(function(el){el.removeClass('price ');});} .defer(2000,this,[grid]));'。應該在某些事件處理程序中調用此代碼(您可以將其綁定到Ext.data.Store.add事件)。 – Krzysztof
@ Lolo-在第二個解決方案中,rec.get('rendered')代表什麼? –