1

ボタンが設定された ExtJS グリッドがあります。このボタンは、グリッド ページに含まれる他の JS ファイルに定義されている関数をトリガーします。関数は問題なくトリガーされますが、その関数では、次のように列数を取得したいと考えています。

grid.getColumnModel().getColumnCount()

問題は、次のようなエラーが発生することです: grid.getColumnModel は関数ではありません。

PHP では、「グローバル $ext」を作成し、その関数にアクセスします。Ext でこれを行うにはどうすればよいですか? 他のファイルからグリッドにアクセスするにはどうすればよいですか? 何を定義する必要がありますか?

ありがとうございました。

4

3 に答える 3

1

これはスコープの問題のようです。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
于 2009-06-18T16:55:47.503 に答える
1

グリッド オブジェクトをどのように定義しましたか? このようにしましたか:

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

その場合、グリッド オブジェクトはグローバル スコープ内にありません。「var」を削除して、それが役立つかどうかを確認してください。

于 2009-06-18T16:52:53.620 に答える
0

グリッド オブジェクトを引数として関数に渡すこともできます。

function myFunction(arg1,arg2,grid){
   ...
    var count = grid.getColumnModel().getColumnCount();
   ...
}
于 2009-06-18T18:12:39.793 に答える