原则上我是不打算动态添加节点的, 因为我是一次性加载所有的数据, 不过你要加节点也是可以的.
var tree = new MzTreeView("tree");
//.....
//add new node
tree.nodes["parentId_id"] = "text: new node";
tree.names += "\x0f\x0f"+ "parentId_id";
tree.node[操作的节点id].isLoad = false;
tree.expand(操作的节点id, true);

解决方案 »

  1.   

    谢谢,我用您的4096的例子来改
    如果我想在根节点下加一个9999的node,code 如下tree.nodes['1_9999'] = 'text="节点 9999"';
    tree.names += "\x0f\x0f"+ "1_9999";
    tree.node[1_9999].isLoad = false;
    tree.expand(1_9999, true);好像不对啊,是我的id
    给错了吗?
      

  2.   

    这几天我对树做了一些重大的调整, 最主要的是解决一个子节点可以挂靠多个父节点下的问题, 做了一些底层的修改,
    tree.nodes['1_9999'] = 'text="节点 9999"';
    tree.names += "\x0f\x0f"+ "1_9999";
    tree._nodes["1"].childNodes.length = 0;
    tree._nodes["1"].isLoad = false;
    tree.expand("1", true);上面这段代码是可以添加, 但我修改之后的代码中, 添加新节点可能不是这样写法
      

  3.   

    谢谢,都解决了,主要是太赶没时间拜读您的code,
    准备有时间好好学习一下,新的tree会多那些功能呢?
    比如可不可以tree生成的时候就展开某个特定的路径,比如象我的问题,
    tree一show出来就展开fold 2 ,
        var tree = new MzTreeView("tree");
        tree.setIconPath("icons/");
        tree.nodes['0_1'] = 'text="根节点"; method="alert(\'node method\')"';
        tree.nodes['1_2'] = 'text="节点 2"';
        tree.nodes['1_3'] = 'text="节点 3"';
        tree.nodes['1_4'] = 'text="节点 4"';
        tree.nodes['1_5'] = 'text="节点 5"';
        tree.nodes['1_6'] = 'text="节点 6"';
        tree.nodes['1_7'] = 'text="节点 7"';
        tree.nodes['1_8'] = 'text="节点 8"';
        tree.nodes['1_9'] = 'text="节点 9"';
        tree.nodes['2_10'] = 'text="节点 10"';
        tree.nodes['2_11'] = 'text="节点 11"';
       getObjectById("treeviewarea").innerHTML = tree.toString();
       tree._nodes["2"].childNodes.length = 0;
      tree._nodes["2"].isLoad = false;
      tree.expand("2", true); 我写成这样好像不work