添加新记录后未刷新ExtJs网格

添加新记录后未刷新ExtJs网格,extjs,extjs4,Extjs,Extjs4,我在网格中使用ExtJSAPI进行CRUD操作。除了一件小事,我所有的代码都可以正常工作。当我第一次添加记录时(当页面加载时),新记录不会显示在网格上,而是添加到数据库中。当我刷新页面并插入记录时,它会在添加后立即显示。这是一种非常奇怪的行为,我甚至不知道这里发生了什么。下面是我用来插入记录的代码: insertUser: function (button) { var grid = Ext.ComponentQuery.query('#userlist'); v

我在网格中使用ExtJSAPI进行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'});
在代码中,您似乎直接传递了值


如果正确添加记录,则存储区不需要重新加载()或刷新,如果重新加载(),则存储区将被刷新,并且添加的数据将不存在。

try
grid.getView().refresh()?谢谢99个红气球。我刚刚删除了行record=form.getRecord();一切都很顺利:)