我有一个表可以更改单元格数据,然后我手动触发带有更改数据的AJAX PUT请求。 '表'正在扩展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请求来更新后端的原因。)
答案 0 :(得分:2)
您始终可以使用record.commit()
提交记录而不将其同步到后端。
答案 1 :(得分:2)
您确实有一个连接到网格的商店 - 这就是网格的工作方式。这只是商店没有连接到代理商,这绝对没问题。
标记单元格,因为商店认为这些记录未保存。要清除标志,您需要更改商店的想法。您可以使用Store对象上的commitChanges
方法执行此操作。 e.g:
success: function( response, opts ) {
grid.getStore().commitChanges();
},
或者,您可以通过将网格配置为不显示红色标记来完全隐藏红色标记。您可以在构建或初始化时为网格提供viewConfig
来执行此操作:
viewConfig: { showDirty: false }