Javascript 如何刷新/重新加载网格

Javascript 如何刷新/重新加载网格,javascript,extjs,Javascript,Extjs,您好,这是我的代码,我正在尝试刷新网格面板,单击工具栏中的刷新按钮,但它不再工作,或者什么也没有发生。您能帮助我正确的语法是什么吗 var store = new Ext.data.JsonStore({ url: 'data-cloud.php', fields: [{ name: 'userid' }, { name: 'record_name' }, { name: 'search_term',

您好,这是我的代码,我正在尝试刷新网格面板,单击工具栏中的刷新按钮,但它不再工作,或者什么也没有发生。您能帮助我正确的语法是什么吗

var store = new Ext.data.JsonStore({
    url: 'data-cloud.php',
    fields: [{
        name: 'userid'
    }, {
        name: 'record_name'
    }, {
        name: 'search_term',
        type: 'string'
    }]
});

var grid_array = new Array();
store.load({
    params: {
        start: 0,
        limit: 5
    }
});

store.on('load', function(store, records) {
    for (var j = 0; j < records.length; j++) {
        grid_array[j] = records[j].get('record_name');
    }
});

// create the Grid
var datagrid = new Ext.grid.GridPanel({
    store: store,
    columns: [{
        id: 'id',
        header: 'Cloud Name',
        width: 155,
        renderer: record_name,
        sortable: true,
        dataIndex: 'record_name'
    }, {
        header: 'Search Term',
        width: 150,
        sortable: true,
        dataIndex: 'search_term'
    }],
    stripeRows: true,
    height: 250,
    width: 500,
    id: 'cloud_panel',
    title: 'DB Grid',
    id: 'detailPanel',
    tbar: [{
            text: 'Refresh',
            iconCls: 'new-topic',
            handler: function() {
                Ext.getCmp('detailPanel').getView().refresh();
            }
        }

    ],
    bbar: new Ext.PagingToolbar({
        pageSize: 5,
        store: store,
        displayInfo: true,
        displayMsg: 'Displaying topics {0} - {1} of {2}',
        emptyMsg: "No topics to display"
    })
});
var store=new Ext.data.JsonStore({
url:'data cloud.php',
字段:[{
名称:'userid'
}, {
名称:'记录名称'
}, {
名称:'搜索词',
键入:“字符串”
}]
});
var grid_array=新数组();
存储容量({
参数:{
起点:0,
限额:5
}
});
store.on('load',函数(存储,记录){
对于(var j=0;j
如果刷新网格视图,数据将不会再次加载,只会重新呈现演示文稿

要刷新实际数据,请使用网格存储上的函数:

Ext.getCmp('detailPanel').getStore().reload();
顺便说一句,您在网格的配置中设置了两次
id
属性,“cloud\u panel”和“detailPanel”,因此您可能希望删除其中一个属性。

试试看

var grid = Ext.getCmp('cloud_panel');
grid.getStore().load();
您还可以将参数传递到存储

grid.getStore().getProxy().extraParams = {name:'name1', lname: 'lname'}
之后

grid.getStore().load(function(){
    alert('store was loaded');
});

我使用了你的代码,它在长加载控制台中显示错误行GET:(我也使用了Ext.getCmp('cloud_panel').load('data-cloud.php');之后它直接在网格中打印数组,而不是actaul值…):(也谢谢你…!我的问题得到解决..通过Ext.getCmp('cloud_panel').getStore().reload();我已经删除了两次id,然后它就可以工作了……非常感谢……它工作得很好……)
grid.getStore().load(function(){
    alert('store was loaded');
});