0

プログラムで展開するツリーパネルがあります。

ノードを展開するときに、このノードに「ジャンプ」したいのですが、スクロールすることを意味します。

ツリー パネルを特定のノードにスクロールする方法は?

更新Ext 4.1を使用しています

4

4 に答える 4

3

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.tree.Panel-method-selectPathを使用してみてくださいselectPath()

于 2012-06-01T00:22:03.780 に答える
1

extjs 3.x では、TreeNodeUI (myNode.ui.focus()) で focus() を呼び出すことができます。

于 2012-05-31T18:12:56.350 に答える
0

tree.getView().focusRow()次のように使用できます。

tree.expandPath(
    '/root/1/2/3',
    'id',
    '/',
    function() {
        tree.getView().focusRow(tree.getStore().getNodeById('3'));
    }
});

ただし、ツリーがanimate: trueすべてのノードを非同期に使用およびロードし、パス内のノードがまだロードされていない場合、このアプローチは機能しません (複数のレイアウト更新のため、ツリーは選択されたノードにスクロールされません)。

回避策として、次のことができます。

  1. animate: falseツリーに設定します。
  2. 次のように、「afterlayout」リスナーを追加します。

    tree.on('afterlayout', function() {
        tree.getView().focusRow(tree.getSelectionModel().getSelection()[0]);
    }
    

    必要に応じてこのハンドラーを追加し、すべてが完了したら削除できると思います。

于 2016-04-21T15:50:49.783 に答える