【问题标题】:Access ExtJS grid's column model from other file从其他文件访问 ExtJS 网格的列模型
【发布时间】:2009-06-18 16:40:21
【问题描述】:

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

grid.getColumnModel().getColumnCount()

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

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

谢谢。

【问题讨论】:

  • 注意:getColumnModel 在 Ext 4 中不存在。与这里的问题无关,但这是当我想弄清楚如何从网格中访问列时出现的答案分机 4.1.3

标签: properties model extjs grid


【解决方案1】:

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

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

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

【讨论】:

  • 该死,我以为这与全局访问 Ext 对象或其他东西有关。
【解决方案2】:

这看起来像是范围问题。见变量scope in 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

【讨论】:

  • 谢谢。汤米先回答,对不起。
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 2015-03-30
    相关资源
    最近更新 更多