首页 > 解决方案 > Ext Js 6.0.0 手动删除表的红色小脏单元格标志

问题描述

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

红脏旗

// some ID actually passed from somewhere else
var myEntityId = '123456';    

Ext.Ajax.request( {
  url: '/myEntity/'+ myEntityId,
  method: 'PUT',
  params: { pressure: 47 },
  success: function( response, opts ) {
    // remove red cell flags of the table...
  },
});

我怎么做?

https://stackoverflow.com/a/11905922/845117上的帖子并没有真正帮助我。在代码运行的位置,我并没有真正将商店连接到我的表格单元格。另外,我将更多信息发送到后端比简单地显示在表格中。这也是我使用额外的 ajax 请求来更新后端的原因。)

标签: extjsextjs6extjs6-classic

解决方案


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

单元格被标记是因为商店认为这些记录未保存。要清除标志,您需要改变商店的想法。您可以使用commitChangesStore 对象上的方法来执行此操作。例如:

success: function( response, opts ) {
  grid.getStore().commitChanges();  
},

或者,您可以通过将网格配置为不显示它们来完全隐藏危险信号。viewConfig您可以通过在构造或初始化网格时向网格提供 a 来做到这一点:

viewConfig: { showDirty: false }

推荐阅读