它似乎應該是如此簡單,但我根本無法完成這件事(我甚至不需要它動態地完成)。例如,假設我有一個簡單的2柱網的設置,如下所示:如何將背景顏色(或自定義css類)應用於網格中的列 - ExtJs 4?
columns : [
{header: 'USER', dataIndex: 'firstName', width:70, cls: 'red'},
{header: 'CATEGORY', dataIndex: 'category', width:100}
]
的cls: 'red'
屬性僅影響報頭,而不是實際的列。我曾在其他地方看到,我應該使用自定義渲染器(可能),但如果我嘗試類似:
{header: 'USER', dataIndex: 'firstName', width:70,
renderer: function(value) {
this.addCls('red');
return value;
}
}
我仍然得到無聊的白色背景。我也看到有人使用renderer函數定義,如下所示:function(value, metadata, record, rowIndex, colIndex, store)
,但是當我使用alert()
來測試輸入參數時,除value
之外,我得到undefined
,這使我相信這可能只適用於ExtJs 4之前的版本。
我也嘗試在我的渲染器函數中返回類似'<span class="red">' + value + '</span>'
的東西,但這隻突出顯示文本,而不是更改列的整個背景。
我不想重寫默認的Ext css類,因爲我想將背景顏色應用於應用程序中的特定網格,而不是全部。
此外,所討論的網格的所有列可能具有不同的顏色(請注意,在示例中,我僅將該類添加到第一列)。
假設red
在我的css文件中定義爲.red {background:#FF0000;}
。
這適用於ExtJS 4。 – cjauvin