问题:两个表的数据同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如何做谢谢
分类:数据库-文件型 ( 版主: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如何做谢谢
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表加入,
你定义的这个东东有什么用?