Extjs Ext Js 6.0.0删除表格';s小的红色脏细胞标志手动

Extjs Ext Js 6.0.0删除表格';s小的红色脏细胞标志手动,extjs,extjs6,extjs6-classic,Extjs,Extjs6,Extjs6 Classic,我有一个表,可以在其中更改单元格数据,然后用更改后的数据手动触发AJAX PUT请求。“表”正在扩展一个Ext.grid.Panel。请求成功返回后,我希望更改单元格的红旗消失 我该怎么做 (上的帖子并没有真正帮助我。在代码运行的位置,我并没有真正的存储连接到我的表单元格。另外,我向后端发送的信息比表中显示的信息要多。这也是为什么我使用额外的ajax请求来更新后端的原因。)您可以始终使用record.commit()提交记录而不将其同步到后端 您确实有一个连接到电网的商店-电网就是这样工作的。

我有一个表,可以在其中更改单元格数据,然后用更改后的数据手动触发AJAX PUT请求。“表”正在扩展一个
Ext.grid.Panel
。请求成功返回后,我希望更改单元格的红旗消失

我该怎么做


(上的帖子并没有真正帮助我。在代码运行的位置,我并没有真正的存储连接到我的表单元格。另外,我向后端发送的信息比表中显示的信息要多。这也是为什么我使用额外的ajax请求来更新后端的原因。)

您可以始终使用
record.commit()
提交记录而不将其同步到后端


您确实有一个连接到电网的商店-电网就是这样工作的。只是商店没有连接到代理,这绝对没问题

这些单元格被标记,因为存储认为这些记录未保存。要清除标志,你需要改变商店的想法。您可以使用Store对象上的
commitChanges
方法来实现这一点。e、 g:

success: function( response, opts ) {
  grid.getStore().commitChanges();  
},
或者,您可以通过配置网格使其不显示来完全隐藏红色标志。在构建或初始化网格时,可以通过向网格提供
viewConfig
来实现这一点:

viewConfig: { showDirty: false }

亚历山大,谢谢你的提示!我必须获得record变量并调用
record.commit()
。它起作用了。正如您的示例所示,我无法使用listener
checkchange
,因为我的列中不存在它;可能是另一个ExtJs版本。是的,您的列不是
checkcolumn
,但是如何获取记录也适用于所有其他网格事件(记录通常是事件的参数)。我使用了checkcolumn,这样我就可以尽可能地缩小示例,因为所有其他列类型都至少需要一个编辑插件。
viewConfig: { showDirty: false }