如何在输入时用树型控件按层次结构输入数据,并保存到数据库中。在查询的时候用树型控件把数据表中的数据还原出来。最好给点例子,更容易理解。谢谢。

解决方案 »

  1.   

    关注,请发个给我,我也对这个很感兴趣,谢谢!
     [email protected]
      

  2.   


    从当前节点的子节点开始查找,并不仅查找子节点,也会遍历同级和父级节点
    procedure TFrmWindowView.btnSearchClick(Sender: TObject);
    //查找节点内容  function FindChild(
          const ANode   : TTreeNode;
          const AText   : string;
          const AStart  : Integer = 0
          ):Boolean;
      //遍历子节点
      var
        i : Integer;
      begin
        Result  :=  False;
        for i := AStart to ANode.Count - 1 do
        begin
          if Pos(AText,UpperCase(ANode.Item[i].Text)) > 0 then
          begin
            ANode.Item[i].Selected  :=  True;
            Result  :=  True;
            Exit;
          end;
          Result  :=  FindChild(ANode.Item[i],AText);
          if Result then Exit;
        end;
      end;  function FindParent(
          const ANode   : TTreeNode;
          const AText   : string
          ):Boolean;
      //遍历父节点
      begin
        Result  :=  False;
        if not Assigned(ANode.Parent) then Exit;
        Result  :=  FindChild(ANode.Parent,AText,ANode.Index + 1);
        if not Result then
          Result  :=  FindParent(ANode.Parent,AText);
      end;var
      sSearchText : string;
    begin
      if not Assigned(tv.Selected) or (edtSearch.Text = '') then Exit;
      sSearchText :=  UpperCase(edtSearch.Text);
      if not FindChild(tv.Selected, sSearchText) then
        FindParent(tv.Selected, sSearchText);
    end;