小弟Form1上一个Treeview1.Form2,Form3等继承于Form1.      现在的问题是,TreeView1.item.add(nil,name);  //这个name是从数据库中取出来的。
当用TreeView1.item.add(nil,name)时,就无法添加根节点。可是把Form关了再开,就可以看到我刚添加的节点。           我试了试  Treeview1.item.add(nil,'全部');也不行,不知为何,请高人相助,谢谢

解决方案 »

  1.   

    可是把Form关了再开,就可以看到我刚添加的节点。
      

  2.   

    你刷新Treeview了? 我猜你是在另一个地方添加的数据库数据添加完了记得重新让Treeview加载
      

  3.   

    楼上的谢谢,后来小弟又在这个Form上建了一个Button控件,它的OnClick事件中加入了:
    Treeview1.items.add(nil,'我爱你')还是不行,为何。
      

  4.   

    TreeView1.item.add(nil,name) 把这个放到OnShow事件里看看
      

  5.   

    form2,form3是form1的儿子,而TreeView1是Form1的属性,而不是form2,form3的属性,你的TreeView1.item.add(nil,name)是在form应该就是在form2,form3里操作的吧?
    在没有用TreeView1.item.add(nil,name)时,form1的TreeView1没有根节点,所以此时创建的form2,form3继承的是TreeView没有根节点的form1,
    在关了form再开时,因为对Form1的TreeView1作了TreeView1.item.add(nil,name)操作,所以重新创建的form2,form3继承了TreeView有根节点的form1
    同理在Button上作这样的操作也是有问题的
      

  6.   

    jxc001(烟灰菜)      谢谢,谢谢你的回复。小弟还是不明,但是Treeview1.items.addchild(parentID,name);
       也就是只要Treeview1含有一个节点,我动态创建其子节点就没有问题。但动态创建第一根节点就有这种问题。不知为何,帮一帮,我该怎么办了,谢谢
      

  7.   

    你新建的根节点比如为NewTreeNode
    那么 NewTreeNode := Treeview1.items.add(nil,'我爱你'); 
    之后NewTreeNode不需要free 如果free了 新建的根节点就没了
      

  8.   

    谢谢大家,问题解决了。问题出在.treeview1.items.beginupdate;上.