Extjs Sencha ext js更改列文本

Extjs Sencha ext js更改列文本,extjs,grid,Extjs,Grid,我想在网格上调用reconfigure来更改列文本,如本例所示 然而,我想从一个与网格无关的外部控件来实现它 需要找到对网格的引用,因为当我将其传递到变量中时,调用reconfigure时会出现无方法错误 需要帮忙吗谢谢 编辑 如果您查看了文章中的链接,则此功能: onShowOfficesClick: function(){ var grid = this.down('grid'); Ext.suspendLayouts(); grid.setTitle('Employees'); gr

我想在网格上调用reconfigure来更改列文本,如本例所示

然而,我想从一个与网格无关的外部控件来实现它

需要找到对网格的引用,因为当我将其传递到变量中时,调用reconfigure时会出现无方法错误

需要帮忙吗谢谢

编辑

如果您查看了文章中的链接,则此功能:

onShowOfficesClick: function(){ 
var grid = this.down('grid'); 
Ext.suspendLayouts();
grid.setTitle('Employees');
grid.reconfigure(this.createOfficeStore()
显示如何重新配置网格

我想做的是从外部函数获取网格引用,不确定是否可能

这是我的一些代码

var Social_Environment_Grid = Ext.create('Ext.data.Store', {
转到以创建一个不相关的存储

然后是我想调用的一个单独的Jquery函数

Social_Environment_Grid.reconfigure(false, newColumArray) 
但是我得到了一个错误,Social_Environment_Grid没有方法重新配置,所以我猜这不是正确的对象引用

希望这有意义

编辑固定的

修复它感谢大家的评论和回答这里是我的问题

 var Panel1 = Ext.create('Ext.panel.Panel', {
    layout: 'fit',
    height: 400,
    layout: {
        type: 'vbox', // Arrange child items vertically
        align: 'stretch', // Each takes up full width
        padding: 5
    },
    items: [{ // Results grid specified as a config object with an xtype of 'grid'
        xtype: 'grid',
        id: 'Panelxx1',
        columns: [
然后打电话

Ext.getCmp('Panelxx1').reconfigure(false,alternativeIndex); 

我没有引用网格,也没有正确调用对象引用,感谢大家的帮助

为了更新网格视图,必须对网格对象调用
重新配置
方法。也就是说,代码示例中的
网格
变量

如中所述,此方法接受一个新存储作为其第一个参数,接受一个新列数组作为其第二个参数,两者都是可选的

因此,如果数据模型的字段发生更改,则必须使用更新的字段创建新的存储。如果您的存储基于模型,则可以首先使用静态方法(例如,
My.Model.setFields(…)
)对其进行更新,然后使用此模型创建一个新存储,并将其传递给网格的
重新配置
方法

如果数据字段没有更改,可以像在示例中一样跳过第一个参数,只为新列使用数组


现在,您的问题似乎是在要调用
reconfigure
的位置获取对网格对象的引用。实现这一点的方法有很多。最简单的一个方法(除了使用全局变量,这是绝对不应该做的),就是使用
id
config选项为网格提供一个id,当需要网格时,可以使用
Ext.getCmp(myGridId)
获取引用。在您的情况下,这可能不是最干净的,但是我们需要知道您想要调用
重新配置
的上下文,以便提供更合适的建议。

Ext.grid.Panel.prototype
中有一个
重新配置
方法,除非您(从原型中)明确删除它,最终使用的变量不是对网格面板的引用。。。你能给我们看一下你的代码吗,这样我们就可以知道出了什么问题了。谢谢你的回答,rixo,我在问题中添加了一些代码。你的代码没有真正意义。您声明的变量引用的是存储,而不是网格。感谢您指出这一点,我也将检查这一点