我使用了一个属性网格,其中包含在sourceConfig中设置的编辑器。我只想要一些行可编辑而不是全部。在beforeedit
中返回false会禁用所有内容。原因是,我在网格中有一个按钮。当我单击按钮时,网格变为文本字段!有什么办法吗?
答案 0 :(得分:1)
beforeedit
事件应该为您提供编辑器和编辑上下文。让我们说你的回调函数如下所示:
function(editor,context) { ... }
使用上下文,您将获得通过访问context.record
进行编辑的记录,而编辑器可以为您提供编辑器表单,您可以从该表单访问该表单中的所有呈现字段。要获得表单,您必须先获取编辑器,然后才能获取表单
var form = editor.getEditor().getForm()
这样您就可以确定已经设置了编辑器。要获得该表单中的字段,只需调用
form.findField('fieldname') // fieldname is the dataIndex of the column
您现在可以根据自己的条件做几乎任何事情。
此外,记录也会加载到此表单中,可以通过调用form.getRecord()