javascript - Extjs 3.2。 GridView -商店关联

标签 javascript model-view-controller extjs view store

在我的示例中,网格中记录数据的顺序如下:

  1. 添加所需数量的空记录
  2. 更改所需单元格中的值

这是必要的,以便仅传输来自服务器的更改或整个表。 在某些情况下,可能不会发生任何变化,甚至可能会删除某些数据。但主要思想是数据必须分两步改变。 问题是数据的重写可能会在调用渲染的不同时间发生。 在某些情况下,我们会出现错误。

//error
store.insert(0, new Rec());   
win.show();         
store.insert(0, new Rec());

//no error
store.insert(0, new Rec());     
store.insert(0, new Rec());  
win.show();         

//no error
win.show();         
store.insert(0, new Rec());   
store.insert(0, new Rec()); 

我们无法保证 insert 和 show 函数的执行顺序,因为它们可以从不同的异步请求中调用。

我的问题在下; 为什么存储中的变化取决于 View 状态,我们如何保护自己免受这种情况的影响?

test case

最佳答案

或者您可以在显示后刷新 GridView

win.show();
grid.getView().refresh();

关于javascript - Extjs 3.2。 GridView -商店关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10229400/

相关文章:

javascript - 文档未定义(使用 electron.js)

javascript - 居中相对 div 旁边的 float 滚动侧边栏

Javascript 等同于 Ruby 的单引号?

Spring MVC :resources access to outside folder

Python-PyQt5-MVC

javascript - 如何在 ExtJS 面板中使用 jQuery 脚本

javascript - jQuery 将 div 粘在滚动条上

asp.net-mvc - MVC下Forms Authentication中ReturnUrl内保留Url Fragment

sql-server - Entity Framework 。如何优雅地报告SQL约束错误

javascript - sencha如何在tabpanel中动态添加选项卡,并将列表添加到tabpanel