2014-10-01 61 views

回答

2

加渲染到你的專欄:

renderer: function (val, metadata, record) { 
var backgroundColor = null; 
if (val) { 
    if (val == 1) backgroundColor = "green"; 
    if (val == 2) backgroundColor = "red";     
} 
metadata.style = 'background-color: ' + backgroundColor + ';';    
return ''; 

}

這裏是一個工作示例:https://fiddle.sencha.com/fiddle/b73

+0

它與有相同顏色的整個表。 – 2014-10-01 20:57:24

+0

正如您從示例中所看到的那樣,我僅在具有自定義渲染器的行內爲其提供了顏色單元格。並且只對那些內容符合我們條件的單元格着色。順便說一句,我正在使用ExtJs 5. – 2014-10-01 21:06:07

+0

我明白了,它仍然是整張桌子的顏色。 – 2014-10-01 21:22:01

1

這對我的作品......

renderer : function(value, meta) { 
    if(parseInt(value) > 0) { 
     meta.style = "background-color:green;"; 
    } else { 
     meta.style = "background-color:red;"; 
    } 
} 
+0

它的工作原理,謝謝! – 2014-10-02 06:13:12

1

Basicly你想要做的是:

所有列創建1個渲染器:

columns:{ 
    defaults: { 
    renderer: myrenderer 
    }, 
    items:[ 
    //your column definitions here... 
    ] 
} 

演示器是水木清華這樣的:

var myrenderer = function(value, metaData, record, rowIndex, colIndex, store, view) { 
if (value >= 0 && value < 25) { 
    metaData.tdCls += 'x-change-cell-red'; 
} else if (value >= 25 && value < 50) { 
    metaData.tdCls += 'x-change-cell-orange'; 
} else if (value >= 50 && value < 75) { 
    metaData.tdCls += 'x-change-cell-yellow'; 
} else if (value >= 75 && value < 100) { 
    metaData.tdCls += 'x-change-cell-green'; 
} else if (value === 100){ 
    metaData.tdCls +='x-change-cell-awesome-green'; 
}else { 
    metaData.tdCls += 'x-change-cell-violet'; 
} 
return value + '%'; 
} 
相關問題