我想选中dxDBTreeView中的一个节点,然后右键 选择 复制
完成将该节点(包含子树)全部复制,同时将复制的节点显示的内容改成  原名字加一个数字。我现在的能复制 没有子树的节点。有子树的不能实现遍历请高手指教

解决方案 »

  1.   

    遍歷函數:function TForm1.AllOverBOMTreeView(node:TTreenode):TTreenode;
    begin
      while node<>nil do
        begin
          if node.HasChildren then
            begin
              node:=node.getFirstChild;
              allovertreeview(node);
              node:=node.Parent;
            end;
          if node.getNextSibling<>nil then
            node:=node.getNextSibling
          else
            exit;
        end;
    end;調用:procedure TForm1.Button1Click(Sender: TObject);
    var
      parentnode:TTreenode;
    begin
      parentnode:=Mytreeview.Items.GetFirstNode;
      AllOverBOMTreeView(parentnode);
    end;沒有子階的TREE你能復制,那麼現在加上這麼遍歷復制,TREEVIEW的遍歷復制你應該會了吧