ExtJS 4 - 如何禁用特定行中的复选框

Posted

技术标签:

【中文标题】ExtJS 4 - 如何禁用特定行中的复选框【英文标题】:ExtJS 4 - how to disable checkbox in a specific row 【发布时间】:2014-09-02 15:57:23 【问题描述】:

我在 ExtJS 4 中有一个数据网格,其中包含一个复选框列。在加载网格后,我需要在外部 AJAX 调用之后以编程方式禁用该复选框。 (基本上,在进行 AJAX 调用后,我需要阻止用户更改复选框。这不是商店更新)。我确实引用了行本身。

我见过几个类似的问题,但它们似乎都涉及在最初加载数据时禁用行或单元格编辑。

【问题讨论】:

你能贴一些代码吗?您要禁用包含复选框的列还是仅禁用该列中的某些复选框? 理想情况下,我只想禁用与该行对应的一个复选框。我不确定我可以发布哪些可能有用的代码? 查看 Column 的渲染器配置 试图举个例子,但文档现在已经关闭......:P @code4jhon 什么时候调用渲染器?是否会在 store 中的任何字段发生更改时调用它,还是仅在正在呈现的字段更改时调用? 【参考方案1】:

如果我对您的理解正确,您不会阻止用户在线编辑您的网格。为此,请在网格上使用 processEvent 函数并返回 false,以便立即返回他们尝试进行的任何编辑。


    xtype: 'checkcolumn',
    dataIndex: 'someModelReference',
    // Prevents toggling the checkbox inline
    processEvent: function() 
       return false;
    

【讨论】:

虽然这确实有效地停止了编辑,但它不会给用户一个无法编辑字段的视觉指示,这是可取的。

以上是关于ExtJS 4 - 如何禁用特定行中的复选框的主要内容,如果未能解决你的问题,请参考以下文章

如何根据复选框状态extJs 6禁用网格上的单元格

EXtjs 3.2:如何将特定单元格设置为不可编辑或只读?

如何在extjs 4.1中的treePanel中移动节点标签的复选框结尾

ExtJS 3.4.0 GridPanel 有条件地禁用行

EXTJS 3.4 中的复选框选择模型

Extjs Grid-禁用特殊行上的某些复选框