Javascript 如何按Id选择Extjs网格并将其显示在面板上

Javascript 如何按Id选择Extjs网格并将其显示在面板上,javascript,extjs,Javascript,Extjs,我创建了一个包含数据的数组、一个包含这些数据的存储和一个网格。所有这些都存在于回调ajax函数中(包含数据的数组是POST请求的响应) 我想要的是在我的items元素中获得“grid”变量: items: [{ xtype: 'panel', title: 'Images', items: [{contentEl:'img',autoScrol

我创建了一个包含数据的数组、一个包含这些数据的存储和一个网格。所有这些都存在于回调ajax函数中(包含数据的数组是POST请求的响应)

我想要的是在我的items元素中获得“grid”变量:

     items: [{
                        xtype: 'panel',
                        title: 'Images',
                        items: [{contentEl:'img',autoScroll:true, height:940 }],


                        },{ 
                        xtype: 'panel',
                        title: 'Material',
                        items: [{contentEl:'msg',autoScroll:true,height:940 }]
                        },
                        {   
                        xtype: 'panel',
                        title: 'Check',
                        items: [grid],  //// how to put it here?
                        }]
            }],renderTo : Ext.getBody()

使用extjs有没有直接的方法?例如,在我的网格中定义一个Id,然后在重读问题后获取具有该Id的变量。首先,声明AJAX调用之外的所有内容。在外部声明存储、数据和网格。然后,在面板中,您只需将网格放在items数组中:

var store = ....
var grid = ...

// ...
{   
    xtype: 'panel',
    title: 'Check',
    items: [
        grid
    ]
}

如果您需要在AJAX请求中更新网格数据,可以像现在一样调用loadData进行更新。

您使用的是什么ExtJS版本?这不起作用,因为您的AJAX请求是异步的,所以网格是在AJAX调用响应到达之前创建的。我使用ExtJS 4.2.Ok。有没有一种方法可以动态地将数据添加到存储中?另外,ajax请求会在单击按钮时执行。Ok。但是如何将数组(从Ajax请求中获取)传递到Ajax外部声明的存储中呢?您可以在Ajax调用中使用store变量。是的。但是,在Ajax调用之外无法访问store变量。我需要它用于网格。不,store&grid必须在AJAX调用之外声明。
var store = ....
var grid = ...

// ...
{   
    xtype: 'panel',
    title: 'Check',
    items: [
        grid
    ]
}