0

そのため、ビュー イベントをリッスンしてメソッドを起動するコントローラーを作成することで、MVC パターンに従って新しい Ext を使用しています。管理メニューとしてロードされたツリーを含むビューがあり、「すべてのユーザーのリスト」というツリー項目がクリックされたときに「ユーザー」コントローラーからリッスンして、すべてのユーザーでグリッドを表示できるようにします。私のロジックは、正しいものだけをリッスンしていることを確認するために、各ツリー要素にIDを設定する必要があることを示しています...問題は、各要素のjsonに送信してIDを送信しても、配属されることはありません。要素 ID には、「ext-gen1091」タイプの要素 ID がまだあります。

各ツリー要素に一意の ID を割り当てるにはどうすればよいですか?

私のjsonは次のようになります:

{"expanded":"true","text":"Users","id":"users","children":[{"text":"List all users","id":"userslist"....
4

1 に答える 1

0

処理しているレコードを識別するためにHTMLIDを使用する必要はありません。ExtJSは、ツリーやその他のコンポーネントで操作を処理したり、イベントをリッスンしたりするのを簡単にするAPIを提供します。

以来、ツリー内の各ノードにはすでにIDが割り当てられています。同じIDを使用して、アクション/イベントが発生したときに作業できます。ツリーパネルに適切なイベントリスナーメソッドを追加するだけです。たとえば、ノードのクリックを追跡している場合は、を利用できますitemclick。メソッドパラメータを使用すると、必要なすべての情報にアクセスできます。

スケルトンコードは次のとおりです。

itemclick: function(Ext.view.View this, Ext.data.Model record, HTMLElement item, Number index, Ext.EventObject e) {
   // Access the record using record or you can access the HTML using item variable.
}

同様に、他のイベントを利用して、ユーザーのアクションを追跡できます。

于 2011-04-29T09:48:14.427 に答える