0

这不是问题,而是我想到的一个问题。当用户双击 Ext.panel.Grid 中的记录/单元格(取决于某些条件)时,我和我的朋友试图禁用 RowEditing。我正在研究 API 并试图找到出路。但是,与此同时,当我在 Stackoverflow 上搜索其中一个答案时(是的,这里)建议使用以下事件:

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

有效 !!!但是当我回顾 ExtJS 4.2.0 API(这就是我们正在使用的)时,我没有在 Ext.grid.Panel 或其父 Ext.panel.Table 上找到“beforeedit”事件。RowEditing 插件有 beforeedit 事件,但没有 Grid。但是,旧版本 4.1.0 有 Ext.panel.Grid 的事件(http://docs.sencha.com/extjs/4.1.0/#!/api/Ext.grid.Panel-event-beforeedit),事实上,Ext.panel.Grid 上的 beforeedit 是从 4.​​1.0 开始引入的。

所以,这只是困扰我的问题 - 事件是否这么快就被弃用并且仍在工作?还是 4.2.0 的 API 错过了?或者,正在使用的版本的 API 中未定义的事件仍然有效的原因是什么!!!这将帮助我了解 API 是如何记录的,以及我是否应该依赖旧版本来获得更好的文档或其他什么。

4

1 回答 1

2

beforeedit 事件不在 Grid 的文档中,因为它不是 Grid 上的事件。这是网格编辑插件上的一个事件。

来自网格编辑插件的事件在运行时被混入到网格中,因此如果您使用网格编辑插件,那么 beforeedit 事件将出现在网格上。

不知道为什么他们在 4.1 和 4.2 之间更改了文档,但差异并不重要,因为行为是相同的。

于 2013-07-13T19:39:35.467 回答