Tree树的展开问题

Tree树的展开问题

根据Tree的api:
expandChildrenOf
expandItem
这两个方法是用于树展开的函数,但是我现在需要树只是展开到一个阶段,而不是全部,这个该如何解决呢?

例如整个树: A-B-C-D
现在我只想展开到 C

- A
    - B
        + C
       
有谁知道怎么做?谢谢!
Future in hands!
 

回复:Tree树的展开问题

http://www.adobe.com/devnet/flex/quickstart/working_with_tree/

ExpandItem函数是用于指定节点下的一层展开,但是不包括该节点之上的父节点,所以可能的效果就是整个树看起来是收拢的,但是ExpandItem作用的节点确是在内部展开了的,当你点击展开完它的上级节点时,就能够看到。

所以这边就涉及到一个父节点循环展开的问题。

例如:
<XML id="xml">
<node label="Root" level="0">
      <node label="A" level="1">
            <node label="a" level="2">
                  <node label="x" level="3">
                  </node>
            </node>
            <node label="b" level="2">
            </node>
      </node>
      <node label="B" level="1">
            <node label="c" level="2">
                  <node label="y" level="3">
                  </node>
                  <node label="y" level="3">
                  </node>
            </node>
      </node>
</node>
</XML>

这边要求树展开到Level 2,最后的树样应该是: (a与c节点下的字节点不展开)

Root
      A
          +a
            b
      B
          +c

父节点循环展开:

1. 展开Level = 0
    tree.expandItem(xml[0], true); // 展开Level为0的节点

2. 展开Level = 1
    var xmlListLevel1MLList = xml.node.(@level == "1"); // 得到所有Level为1的节点
   
    for(var i:int=0; i<xmlListLevel1.length(); i++) // 循环展开Level为1的节点
    {
        tree.expandItem(xmlListLevel1, true);
    }

大家可以试试看,也欢迎大家指出不妥之处。
谢谢!
Future in hands!
 

回复:Tree树的展开问题

那么吧所有节点都收起来应该怎样做呢?API好像没有提供方法
 

回复: Tree树的展开问题



引用:
原帖由 电视机 于 2008-2-17 16:33:00 发表
那么吧所有节点都收起来应该怎样做呢?API好像没有提供方法

原来还是这个函数tree.expandChildrenOf(itembject,false);
 

回复:Tree树的展开问题

呵呵,学习了
 

回复:Tree树的展开问题

试一试  得到 c 的 的节点的值 !
 

回复:Tree树的展开问题

但是我不知道到底有多少子节点层数,
var xmlListLevel1MLList = xml.node.(@level == "1");
这样给它设置为第一级节点(@level == "1"),似乎不妥
 
1  /  1  页   1 跳转

版权所有 riachina.com   Sitemap

Powered by Discuz!NT 2.1.202    Copyright © 2001-2008 Comsenz Inc.
Processed in 0 second(s) (Cached).
返顶部