2009-06-18 20 views
1

ボタンが設定されたExtJSグリッドがあります。このボタンは、グリッドページに含まれる他のJSファイルに定義されている関数をトリガーします。この関数は、[OK]トリガーが、その関数の中で、私は列が次のようにカウントを取得したい:grid.getColumnModel関数ではありません。他のファイルからExtJSグリッドの列モデルにアクセスする

grid.getColumnModel().getColumnCount() 

問題は、私のようなエラーが得るということです。

私は "global $ ext"を作成し、その関数にアクセスします。 Extでこれをどうすればできますか?他のファイルからグリッドにアクセスするにはどうしたらいいですか?何を定義する必要がありますか?

ありがとうございます。

+0

注: 'getColumnModel'は、内線4に存在しません。ここでの問題とは関係ありませんが、これは、Ext 4.1.3のグリッドから列にアクセスする方法を理解したかったときに出てきた答えです。 –

答えて

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(); 
    ... 
} 
関連する問題