在 extjs 4.2.1 中禁用整个列
Disabling entire column in extjs 4.2.1
我有一个简单的多列网格和每列可编辑字段。当我调用 column.disable()
时,只有列的 header 被禁用,列中的字段仍然可编辑。如何禁用列中的所有字段?
您必须在呈现 editor 后调用 disable
方法。
我使用 beforeedit 事件来禁用我的字段
例如:
beforeedit: function (editor, context) {
...
editor.editor.down('onetomanyeditor').disable()
...
},
结合 beforeedit 事件处理程序,您可以使用渲染器更改单元格的 tdStyle 以指示它已禁用:
renderer: function(value, meta, record, rowIdx, colIdx, store, view) {
var column = this.getHeaderContainer().getHeaderAtIndex(colIdx);
if (column.disabled) {
meta.tdStyle = "opacity: 0.4;";
}
return value;
}
tdCls 更好,可以对外观进行更精细的调整。
我有一个简单的多列网格和每列可编辑字段。当我调用 column.disable()
时,只有列的 header 被禁用,列中的字段仍然可编辑。如何禁用列中的所有字段?
您必须在呈现 editor 后调用 disable
方法。
我使用 beforeedit 事件来禁用我的字段
例如:
beforeedit: function (editor, context) {
...
editor.editor.down('onetomanyeditor').disable()
...
},
结合 beforeedit 事件处理程序,您可以使用渲染器更改单元格的 tdStyle 以指示它已禁用:
renderer: function(value, meta, record, rowIdx, colIdx, store, view) {
var column = this.getHeaderContainer().getHeaderAtIndex(colIdx);
if (column.disabled) {
meta.tdStyle = "opacity: 0.4;";
}
return value;
}
tdCls 更好,可以对外观进行更精细的调整。