我正在使用ExtJS API进行网格中的CRUD操作。除了一件小事,我所有的代码都很好用。当我第一次添加记录时(当页面加载时),新记录不会显示在网格上,而是添加到数据库中。当我刷新页面并插入记录时,它会在添加后立即显示。这是一种非常奇怪的行为,我甚至不知道这里发生了什么。这是我用来插入记录的代码:
insertUser: function (button) {
var grid = Ext.ComponentQuery.query('#userlist');
var win = button.up('window');
form = win.down('form');
record = form.getRecord();
values = form.getValues();
this.getUsersStore().add(values);
this.getUsersStore().reload();//tried this.getUsersStore().load(); also
win.close();
}
有人能指出这里出了什么问题吗?谢谢
添加要存储的数据时,它需要采用存储记录的格式。
例如
this.getUsersStore().add({username:'Sample User', userid: 210, userphone: '999-999-9000'});
在您的代码中,似乎是直接传递值。
如果您正确添加了记录,则存储不需要执行reload()或刷新,如果您重新加载(),则存储将被刷新,并且您添加的数据将不存在。