如果知道了被选中的节点,并且树已经加载,可以这样应用: (1)不展开node节点子节点 node.parentNode.expand(); //node.select();//选中的效果 (2)展开node的子节点 node.expand(); //node.select();//选中的效果 即直接展开该节点的方法。 希望能帮到你!
上上千 - 2009-3-13 18:50:00
{tree}.body.scrollTo('top',Ext.get({node}.getUI().elNode).getY()); 花括号内的tree换成你的tree node换成你的node
上上千 - 2009-3-18 13:12:00
tree的expandnode事件 判断,根据node的id或者附加的配置attributes里边的值判断,当前展开的是否是你这个保存的节点的parentNode,如果是,执行上边的代码。
roseforyou - 2009-3-18 14:57:00
你的意思是说知道节点位置想在树上选中这个节点吗?你可以在树自动展开事件里 tree.on('load', function(node, checked) {//树在Load时自动展开 node.expand(); node.eachChild(function(child) { child.expand(); if(node.id==oldnode.id) {//在这里判断是否与原来的NODE相等 tree.getSelectionModel().select(node); } }); }, tree)
alex197963 - 2009-3-24 16:17:00
树都加载完并展开之后,我点击一个按钮去执行代码 {tree}.body.scrollTo('top',Ext.get({node}.getUI().elNode).getY()); 是没有问题的,但是我在加载中判断是不是之前选中的按钮,是的话在执行这段代码不起作用,不知道为什么。
alex197963 - 2009-3-24 16:42:00
而且Ext.get({node}.getUI().elNode).getY(),返回的是节点相对整个页面顶端的距离,我想要的是相对树的顶端的距离