在ExtJS网格中编辑整个行后触发“ afteredit”吗?

| 我有一个ExtJS编辑器网格,其中包含一些列。我想修改记录中的数据并将数据自动保存到数据库。但是我只需要在完成编辑当前行的所有单元格后保存数据。我使用了事件“ afteredit”,但是在更改一个单元格后立即触发了该事件。 在修改完所有单元格之前,如何使该事件不触发?或者,您是否可以建议使用另一种方法而不使用\“ afteredit \”事件? 非常感谢。     
已邀请:
我认为在您的情况下,单击按钮以保存网格会更容易。您可以通过调用“ 0”来访问所有已修改的记录,并将其发送到后端服务并进行批量更新,而不是一次更新一行。     
这又是我的问题:您是否连续编辑所有单元格?更好的解决方案是使用“保存”按钮将更新的数据发送回服务器并将其保存到数据库中。 现在,如果您坚持要修改一行中的所有单元格,则可以执行以下操作: 在
afteredit
事件处理程序中: 获取正在编辑的记录(you2ѭ即可获取) 检查记录中是否已修改所有字段。这可以通过检查公共财产“ 3”来完成。 如果所有字段都已修改,请继续将更新的记录发送到服务器以保存到DB中。     
您可以在选择模型上使用
rowdeselect
事件(假设您使用
Ext.grid.RowSelectionModel
。在事件处理程序内部,您可以检查记录是否已修改并做出相应反应。
var grid = // your grid 
grid.getSelectionModel().on(\"rowdeselect\", function(selModel, rowIndex, record) {
    if (record.dirty) {
        // record has been modified
    }
});
    
您可能会看看
Ext.ux.grid.RowEditor
。它具有一个
afteredit
事件,当完成对行的编辑时将触发该事件。 您可以在http://dev.sencha.com/deploy/dev/examples/grid/row-editor.html上找到工作示例。     
触发编辑事件后,应检查已修改的配置,以检查所有网格列是否已被修改。修改后,您可以将它们发送到后端。     

要回复问题请先登录注册