extJs树结构展开问题?

现在在用Ext做一个项目,用的Ext的树控件,我的这个tree最多有5层,现在如果我用tree.expandAll()的话,这个树会全部展开,但是我不想让它全部展开,全部... 现在在用Ext做一个项目,用的Ext 的树控件,我的这个tree最多有5层,现在如果我用tree.expandAll()的话,这个树会全部展开,但是我不想让它全部展开,全部展开太长了,我想只展开两层。比如一个5层结构的树,只层开3层结构。如果这个树本身只有2层,那就层开2层。多于3层以上也只展开3层。图示: 展开
 我来答
luffy1201
2011-03-21 · TA获得超过1523个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:578万
展开全部
treepanel:
expandPath ( String path , [ String attr ], [ Function callback ] ) : void
展开当前TreePanel中的指定路径。可以使用 Ext.data.Node.getPath 方法从一个节点中获取路径。
参数:
path : String
attr : String
可选 path中使用的参数(更多信息参见Ext.data.Node.getPath)
callback : Function
可选 展开完成时的回调方法。回调方法将被传入以下参数: (bSuccess, oLastNode)。 bSuccess是展开是否成功标志,oLastNode为被展开的节点。
返回值:void

getNodeById ( String id ) : Node
根据id从树中获取节点
根据id从树中获取节点
参数:
id : String
返回值:Node

getRootNode () : Node
返回当前树的root节点
返回当前树的root节点
参数:
无。
返回值:Node

treenode:
getPath ( [ String attr ] ) : String
返回当前节点的路径。该路径可以用来编程展开或者选中当前节点。
返回当前节点的路径。该路径可以用来编程展开或者选中当前节点。
参数:
attr : String
(可选) 路径使用的参数(默认值为节点的id)
返回值:
String
路径

把这些方法组合下,然后你在写点逻辑代码,就能控制你想展开的任意节点了。
viewTree.expandPath(viewTree.getRootNode().getPath());// 展开根节点
viewTree.expandPath(viewTree.getNodeById (‘id’).getPath());// 展开id的那个节点
追问
您好,您的QQ是多少?想QQ请教您详谈,非常感谢!
追答
有事在百度hi里找我就行
AmorUnico艾唯子语
2011-03-18 · TA获得超过1616个赞
知道小有建树答主
回答量:630
采纳率:66%
帮助的人:302万
展开全部
var root=tree.getRootNode();
if(root.childNodes.length<=2){
for(var i=0;i<root.childNodes.length;i++){
root.childNodes[i].expand();
}
}else{
root.childNodes[0].expand();
root.childNodes[1].expand();
root.childNodes[2].expand();
}
-----------------------------------------------------------------------------------------------
好久不用ext了,你试试看吧,看看api,这个问题肯定好解决的
更多追问追答
追问
这样好像不行啊,刚试了不行
追答
为什么不行,是页面报错吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式