gpt4 book ai didi

grid - ExtJS 4 RowEditing禁用基于记录的一列编辑

转载 作者:行者123 更新时间:2023-12-03 11:50:37 24 4
gpt4 key购买 nike

我正在实现一个网格面板,其中最后四列对于大多数行都是可编辑的。问题是我希望能够禁用编辑功能,假设第一个条件是record.get('status')= 4,它已完成,并且只有两列是可编辑的。

有没有办法禁用显示这些行的编辑?我可以使用CellEditing来做,但想继续使用RowEditing插件。

问候,
克里斯蒂安

最佳答案

使用 beforeedit 事件:

grid.on('beforeedit', function(editor, e) {
if (e.colIdx === 0 && e.record.get('status') == 4)
return false;
});

更新
上面的解决方案不适用于rowEditor。
但是,您可以在 beforeedit上禁用必填字段。为此,您应该能够访问rowediting插件。将pluginId分配给插件:
plugins: [
Ext.create('Ext.grid.plugin.RowEditing', {
clicksToEdit: 1,
pluginId: 'rowEditing'
})
],

现在,如果满足某些条件,只需禁用必填字段:
grid.on('beforeedit', function(editor, e) {
if (e.record.get('status') === 4 ){
grid.getPlugin('rowEditing').editor.form.findField('fieldToDisable').disable();
}
else{
grid.getPlugin('rowEditing').editor.form.findField('fieldToDisable').enable();
});

这是 demo(尝试编辑第一行)。

编辑

如果上述JSFiddle无法正常运行,请尝试 its updated version

关于grid - ExtJS 4 RowEditing禁用基于记录的一列编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7679364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com