1

我有一个 ExtJS 网格,其中设置了一个按钮。该按钮触发一个定义在网格页面中的其他 JS 文件中的函数。该函数触发正常,但在该函数中,我想获得这样的列数:

grid.getColumnModel().getColumnCount()

问题是我收到如下错误:grid.getColumnModel 不是函数。

在 PHP 中,我会创建一个“全局 $ext”,然后访问该函数。我怎样才能在 Ext 中做到这一点?如何从其他文件访问网格?需要定义什么?

谢谢你。

4

3 回答 3

1

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

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

如果是这样,则网格对象不在全局范围内。删除“var”,看看它是否有帮助。

于 2009-06-18T16:52:53.620 回答
1

这看起来像一个范围问题。请参阅 JavaScript 中的变量范围

基本上,你可以这样做:

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
于 2009-06-18T16:55:47.503 回答
0

您还可以将网格对象作为参数传递给您的函数:

function myFunction(arg1,arg2,grid){
   ...
    var count = grid.getColumnModel().getColumnCount();
   ...
}
于 2009-06-18T18:12:39.793 回答