需要突出显示需要突出显示
的Ext.netgridPannel
颜色的行集
目前的方法是在渲染GridPannel时调用以下函数:
function (value, meta, record, rowIndex,columnIndex,store)
{
color= record.data["ColorValue"];
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = '.cssClass'+rowIndex+' { background color:'+color+'}';
document.getElementsByTagName('head')[0].appendChild(style);
grid.store.getAt(rowIndex).set("mySelected", "cssClass"+rowIndex);
}
但是使用这种方法:突出显示所有具有相同颜色的行 ..测试alert(color);
从GridPannel中获取每种颜色的正确不同颜色
对此有什么好的方法吗?
答案 0 :(得分:1)
您可以在GridView中覆盖getRowClass方法。
new Ext.grid.GridPanel({
[...],
viewConfig: {
getRowClass: function(record, index, rowParams, store) { return 'some-class'; }
}
});
或者如果您需要在渲染后应用颜色,您可以尝试为每一行设置:
grid.getView().getRow(0).className += 'some-class';
注意:这个示例基于ExtJS 3.4 API,但我敢打赌,4.0中有类似的东西。
答案 1 :(得分:0)
使用ExtJS 4,您可以使用网格存储中记录的highlight的row element方法。
var store = grid.getStore();
var view = grid.getView();
var node;
store.each(function(record) {
if (record.get('fieldname') !== 'your_condition') return;
//Return the node given the passed Record, or index or node.
node = view.getNode(record);
if (!node) return;
Ext.get(node).highlight();
});