Properties 访问ExtJS网格';从其他文件中删除列模型

Properties 访问ExtJS网格';从其他文件中删除列模型,properties,model,extjs,grid,Properties,Model,Extjs,Grid,我有一个ExtJS网格,其中设置了一个按钮。该按钮触发一个函数,该函数定义在网格页面中包含的其他JS文件中。该函数触发ok,但在该函数中,我希望得到如下列计数: grid.getColumnModel().getColumnCount() var grid = new Ext.grid.GridPanel(...); 问题是我得到了一个错误,比如:grid.getColumnModel不是一个函数 在PHP中,我将创建一个“全局$ext”,然后访问该函数。如何在Ext中执行此操作?如何从其他

我有一个ExtJS网格,其中设置了一个按钮。该按钮触发一个函数,该函数定义在网格页面中包含的其他JS文件中。该函数触发ok,但在该函数中,我希望得到如下列计数:

grid.getColumnModel().getColumnCount()
var grid = new Ext.grid.GridPanel(...);
问题是我得到了一个错误,比如:grid.getColumnModel不是一个函数

在PHP中,我将创建一个“全局$ext”,然后访问该函数。如何在Ext中执行此操作?如何从其他文件访问网格?需要定义什么


谢谢。

您是如何定义网格对象的?你是这样做的:

grid.getColumnModel().getColumnCount()
var grid = new Ext.grid.GridPanel(...);

如果是,则网格对象不在全局范围内。删除“var”并查看它是否有用。

这看起来像是范围问题。参见变量

基本上,您可以:

my_global_grid = ... // accessible in the current ~global~ context (document, window)
var my_local_grid = ... // accessible only in the function
window.my_window_global_grid = ... // accessible in the same window

还可以将网格对象作为参数传递到函数中:

function myFunction(arg1,arg2,grid){
   ...
    var count = grid.getColumnModel().getColumnCount();
   ...
}

该死,我以为这是全局访问Ext对象之类的。谢谢。Tommi首先回答,抱歉。注意:
getColumnModel
在Ext4中不存在。这与这里的问题无关,但当我想知道如何从Ext4.1.3中的网格访问列时,我给出了这个答案