2009-06-18 6 views
1

버튼이 설정된 ExtJS 격자가 있습니다. 이 버튼은 격자 페이지에 포함 된 다른 JS 파일에 정의 된 함수를 트리거합니다. 이 기능은 확인을 유발하지만, 그 함수에서 나는 열은 다음과 같이 계산하고 싶지 : grid.getColumnModel 함수되지 않습니다 :다른 파일에서 ExtJS 그리드의 열 모델에 액세스하십시오.

grid.getColumnModel().getColumnCount() 

문제는 내가 같은 오류를 얻을 것입니다.

PHP에서는 "전역 $ ext"를 작성한 다음 해당 함수에 액세스합니다. Ext에서 어떻게 할 수 있습니까? 다른 파일에서 그리드에 액세스하려면 어떻게합니까? 무엇을 정의해야합니까?

감사합니다.

+0

참고 :'getColumnModel'는 내선 4에 존재하지 않습니다. 여기에있는 문제와 관련이 없지만 이것은 Ext 4.1에서 그리드의 열에 액세스하는 방법을 알아 내려고했을 때의 대답이었습니다. –

답변

1

그리드 개체를 어떻게 정의 했습니까? 다음과 같이 했니?

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

그렇다면 그리드 개체가 전역 범위에 있지 않습니다. "var"를 제거하고 도움이되는지 확인하십시오.

+0

젠장, 이건 Ext 개체에 액세스하는 것과 관련이 있다고 생각했습니다. 어떤 것. –

1

이것은 범위 문제와 같습니다. 변수 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 
+0

감사합니다. 토미가 먼저 대답했다. 미안. –

+0

문제 없음 :) –

0

:

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