Доступ к модели столбца сетки ExtJS из другого файла

StackOverflow https://stackoverflow.com/questions/1013794

  •  06-07-2019
  •  | 
  •  

Вопрос

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

grid.getColumnModel().getColumnCount()

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

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

Спасибо.

Это было полезно?

Решение

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

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

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

Другие советы

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

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

function myFunction(arg1,arg2,grid){
   ...
    var count = grid.getColumnModel().getColumnCount();
   ...
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top