5

データビュー (エクスプローラー ウィンドウ) をツリー (ディレクトリ ツリー) と同期させようとしています。データビューの要素をクリックすると、同じノードがツリーで選択されます

問題は、 を使用すると tree.getSelectionModel().select(index) 、内部 ID (ツリーストアで提供した ID) でノードを選択できず、レコード インデックスだけでノードを選択できることです...したがって、両方のビューを同期することはできません... expandPath() の解決策がありますが、私のツリーストアはリレーショナル データベース (id、name、parent_id など) によって供給されるため、フル パスを見つけることは (またはその可能性があります) サーバーにとって大きな負荷になります (私はパスを提供する必要がないようにしたい...)。

基本的に、「id=」(またはツリーストアのその他のキー/値) のノードを展開できるようにしたいと考えています。

出来ますか ?回避策はありますか?

私を読んでくれてありがとう!

4

2 に答える 2

9

tree.getSelectionModel().select(record) 関数は、インデックスの代わりにレコード インスタンスを受け入れることができます。私はこのようなことをします:

var record = tree.getRootNode().findChild('id_name','record_id',true);
tree.getSelectionModel().select(record);

findChild 関数の詳細については、NodeInterface のドキュメントを参照してください: http://docs.sencha.com/ext-js/4-0/#/api/Ext.data.NodeInterface-method-findChild

于 2011-07-18T13:42:16.783 に答える
0

これにも使えますselecteditemtree.data.id

于 2013-08-20T12:29:06.403 に答える