问题:两个表的数据同TREEVIEW联接? ( 积分:100, 回复:7, 阅读:44 )
分类:数据库-文件型 ( 版主:hbezwwl, 吴剑明 )  
来自:lyplay2, 时间:2002-12-4 12:53:00, ID:1484399 | 编辑 [显示:小字体 | 大字体]  
表一(难点是表的层次不能确定)
单位编号  单位名称     父单位编号
01          A公司          0
0101        一分厂         01
010101      一门市         0101
0102        二分厂         01
02          B公司          0

表二(同表一以单位编号联接)
单位编号   姓名    性别
01          AAA      A         
01          BBB      A
0101        CCC      A
010101      DDD      B
0102        EEE      B
02          FFF      A
02          GGG      A
显示为
01          A公司
--0101        一分厂
------------------AAA         
------------------BBB
----010101      一门市
----------------------CCC         
--0102        二分厂   
-----------------------EEE      
02          B公司          
--GGG如何做谢谢
 

解决方案 »

  1.   

    1.首先你先建表一的树,用递归就可以了
    procedure Tfrmtools.BuildTreeNode();
      procedure CreateSubTree(FNodeName: string; Node: TTreeNode = nil);
      var
        mLocalName: string;
        TreeNode: TTreeNode;
        Ads_Tmp: TADODataSet;
        BM: PMyRec;
      begin
        Ads_Tmp := TADODataSet.Create(nil);
        Ads_Tmp.Connection := DM.ADOConnection1;
        with Ads_Tmp do
        begin
          Close;
          CommandText := 'Select * from department Where Parentbm =' + FNodeName;
          open;
          first;
          while not eof do
          begin
            mLocalName := fieldbyname('bm').AsString;
            new(BM);
            BM.BMid := mLocalName;
            TreeNode := TreeView.Items.AddChild(Node, fieldbyname('bmmc').AsString);
            TreeNode.Data := BM;
            TreeNode.SelectedIndex := 0;
            TreeNode.ImageIndex := 1;
            CreateSubTree(mLocalName, TreeNode); //递归调用
            next;
          end;
        end;
      end;
    begin
      TreeView.Items.BeginUpdate;
      TreeView.Items.Clear;
      CreateSubTree('0', nil);
      TreeView.Items.EndUpdate;
      TreeView.Items[1].Selected := true;
    end;
    //上面的代码你改一下就可以了
    之后在节点的有个事件叫什么有点忘记了
    把B表加入,
      

  2.   

    BM: PMyRec
    你定义的这个东东有什么用?