他のファイルからExtJSグリッドの列モデルにアクセスする
-
06-07-2019 - |
質問
ボタンが設定されたExtJSグリッドがあります。このボタンは、グリッドページに含まれる他のJSファイルに定義されている関数をトリガーします。関数は正常にトリガーされますが、その関数では次のように列数を取得します:
grid.getColumnModel().getColumnCount()
問題は、次のようなエラーが表示されることです:grid.getColumnModelは関数ではありません。
PHPでは、" global $ 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
グリッドオブジェクトを引数として関数に渡すこともできます:
function myFunction(arg1,arg2,grid){
...
var count = grid.getColumnModel().getColumnCount();
...
}
所属していません StackOverflow