Pergunta

Eu tenho uma grade ExtJS que tem um botão configurar na mesma. O botão aciona uma função que é definida em outro arquivo JS que está incluído na página grid. A função aciona ok, mas em que a função Eu quero obter as colunas contar assim:

grid.getColumnModel().getColumnCount()

O problema é que eu recebo um erro como:. Grid.getColumnModel não é uma função

No PHP eu faria um "$ ext global" e de acesso, em seguida, essa função. Como posso fazer isso em Ext? Como posso acessar a rede a partir de outro arquivo? O que precisa ser definido?

Obrigado.

Foi útil?

Solução

Como você definir o objeto da grade? Será que quis fazê-lo como este:

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

Se assim for, o objeto grade não está no escopo global. Retire o "var" e ver se isso ajuda.

Outras dicas

Isto parece uma questão de escopo. Consulte escopo de variáveis ??em JavaScript .

Basicamente, você pode fazer:

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

Você também pode passar o objeto grade em sua função como um argumento:

function myFunction(arg1,arg2,grid){
   ...
    var count = grid.getColumnModel().getColumnCount();
   ...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top