如果单元格不可编辑,我需要更改单元格的颜色。
我不想为此设置渲染器,因为我在isCellEditable方法中进行了大量验证。
如果我从渲染器中调用isCellEditable方法两次,则会调用此方法,这将是一次性能攻击。
感谢任何帮助。
以下是我的代码:
var grid = new Ext.grid.EditorGridPanel({
store: store,
id: 'editorgrid',
columnLines : true,
//more properties..
cm: new Ext.grid.ColumnModel({
isCellEditable: function(colIndex, rowIndex) {
if(colIndex == 1) {
//before returning false I want to change the color of this cell i.e want to make it grayed out
return false;
}
}
})
});
答案 0 :(得分:0)
为什么不想为此使用渲染器?这就是渲染器的用途。您可以轻松地将渲染器添加到列中,并在此渲染器中向单元格的元对象添加属性,以根据可编辑状态更改颜色。
var myCellRenderer = function(value, metaData, record) {
//metaData.css : String : A CSS class name to add to the cell's TD element.
//metaData.attr : String : An html attribute definition string to apply to
// the data container element within the table
// cell (e.g. 'style="color:red;"').
metaData.css = 'name-of-css-class';
return value;
};
的ExtJS网格常见问题解答