Доступ к модели столбца сетки ExtJS из другого файла - PullRequest
1 голос
/ 18 июня 2009

У меня есть сетка ExtJS, в которой настроена кнопка. Кнопка запускает функцию, которая определена в другом файле JS, который включен в страницу сетки. Функция срабатывает нормально, но в этой функции я хочу получить количество столбцов следующим образом:

grid.getColumnModel().getColumnCount()

Проблема в том, что я получаю ошибку вроде: grid.getColumnModel не является функцией.

В PHP я бы сделал "глобальный $ ext" и затем получил бы доступ к этой функции. Как я могу сделать это в Ext? Как я могу получить доступ к сетке из другого файла? Что нужно определить?

Спасибо.

Ответы [ 3 ]

1 голос
/ 18 июня 2009

Это похоже на проблему с областью действия. См. Переменную scope в 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
1 голос
/ 18 июня 2009

Как вы определили объект сетки? Ты сделал это так:

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

Если это так, объект сетки не находится в глобальной области видимости. Удалите «var» и посмотрите, поможет ли это.

0 голосов
/ 18 июня 2009

Вы также можете передать объект сетки в вашу функцию в качестве аргумента:

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