在ExtJs 4.1中选择树面板的第一个叶节点

时间:2014-01-10 10:33:56

标签: extjs tree extjs4 extjs4.1

我正在使用ExtJs 4.1 TreePanel控件。当用户单击按钮时,我想选择树面板的第一个叶节点,然后激活select或itemClick事件。获得理想结果的最佳方法是什么。

到目前为止,我正在使用此代码:

 var root = Ext.getStore('MyStore').getRootNode();
 var firstChildNode = root.findChild('leaf', true, true);
 Ext.getCmp('treePnl').getSelectionModel().select(firstChildNode);

有没有更好的方法在ExtJs树面板中选择节点?如何触发树面板的select或itemClick事件?

谢谢!!!

2 个答案:

答案 0 :(得分:1)

var root = Ext.getStore('MyStore').getRootNode(),
    tree = Ext.getCmp('treePnl'),
    selModel  = tree.getSelectionModel();

selModel.select(root.firstChild);

tree.fireEvent('itemselect', root.firstChild);

答案 1 :(得分:0)

如果“叶子”在树的下方,我使用了以下内容 工作解决方案:

// select first leaf
var item = tree.getRootNode();
while(item.firstChild)
    { item = item.firstChild; }

tree.getSelectionModel().select(item);