Ext Js 6.0.0手动删除表的小红色脏单元格标记

时间:2018-05-14 10:55:53

标签: extjs extjs6 extjs6-classic

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

red dirty flag

// 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请求来更新后端的原因。)

2 个答案:

答案 0 :(得分:2)

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

https://fiddle.sencha.com/#view/editor&fiddle/2glo

答案 1 :(得分:2)

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

标记单元格,因为商店认为这些记录未保存。要清除标志,您需要更改商店的想法。您可以使用Store对象上的commitChanges方法执行此操作。 e.g:

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

或者,您可以通过将网格配置为不显示红色标记来完全隐藏红色标记。您可以在构建或初始化时为网格提供viewConfig来执行此操作:

viewConfig: { showDirty: false }
相关问题