ExtJs 属性网格 - 选定的行可编辑?

Posted

技术标签:

【中文标题】ExtJs 属性网格 - 选定的行可编辑?【英文标题】:ExtJs property grid - Selected rows editable? 【发布时间】:2014-06-25 09:23:17 【问题描述】:

我正在使用在 sourceConfig 中设置编辑器的属性网格。我只希望某些行是可编辑的,而不是全部。在 beforeedit 中返回 false 将禁用所有。原因是,我在网格中有一个按钮。当我单击按钮时,网格变成了一个文本字段!有什么办法吗?

【问题讨论】:

我不明白你的问题。你能发一个小提琴吗? 【参考方案1】:

beforeedit 事件应该为您提供编辑器和编辑上下文。假设您的回调函数如下所示:

function(editor,context)  ... 

使用上下文,您将获得通过访问 context.record 进行编辑的记录,而编辑器可以为您提供编辑器表单,您可以从中访问该表单中所有呈现的字段。要获取表单,您必须先获取编辑器,然后才能获取表单

var form = editor.getEditor().getForm()

这样你就可以确定编辑器已经设置好了。要获取该表单中的字段,只需调用

form.findField('fieldname') // fieldname is the dataIndex of the column

您现在几乎可以根据自己的条件做任何事情。

此外,记录也被加载到这个表单中,可以通过调用form.getRecord()来访问

【讨论】:

以上是关于ExtJs 属性网格 - 选定的行可编辑?的主要内容,如果未能解决你的问题,请参考以下文章

可编辑的网格 ExtJS,如何在网格上编辑行后更新数据库中的行

Extjs - 从商店中删除新添加的选定项目

如何使 ttk.Treeview 的行可编辑?

DEV GridControl怎样使GridView中满足某个条件的行可编辑,其余行不可编辑?

Extjs可编辑的网格推开行

在激活 extjs 4 时清除可编辑的网格单元