-1

2 つの ExtJs TreePanel があります。1 つのツリーは完全にロードされ (FLTree と呼びます)、2 つ目は部分的にロードされます (PL ツリーと呼びます)。ユーザーが完全にロードされたツリーのノードをクリックし、そのノードが部分的にロードされたツリーに存在する場合、部分的にロードされたツリーでそのノードの checkchange イベントを発生させたいと考えています。

ここに画像の説明を入力

これは可能ですか?

4

1 に答える 1

0

はい、項目がクリックされたときに発生Ext.tree.Panelするitemclickイベントがあります (コントローラーまたはツリーパネルのリスナー プロパティに追加する必要があります。属性は次のとおりです。

someFunctionName: function(treeview, record, item, index, e, eOpts) { ... }
レコード変数から、最初のツリーの選択されたノードから必要なデータを取得できます。

他のツリーパネルを見つけるには、ツリービューで メソッドup()down()メソッドを使用できます。

var parentContainer = treeview.up('container_xtype[someProperty1=someValue1]');

コンポーネント階層を上に移動できます (両方のツリーパネルを含む親コンテナーを取得します)。

var pLtree = parentContainer.down('treepanel[someProperty2=someValue2]');

2 つのツリーパネルに共通の親がない場合は、

var pLtree = Ext.ComponentQuery.query('treepanel[someProperty2=someValue2]')[0];
一致したコンポーネントの配列を返すグローバル メソッド。ただし、適切なコンポーネントセレクタークエリを使用していることを確認してください (返された配列の長さ == 1 かどうかを確認できます)。

最後に、 HEREpLtree.fireEvent('checkchange', ...);で説明されている を使用する必要があります。

于 2013-08-27T10:54:01.957 に答える