工号 姓名 上级工号
01 张1 01
02 张2 01
03 张3 01
04 李1 02
05 李2 02树型结构
01
02 03
04 05
现在计算下属有多少人,并且需要出一张树型图。
例如: 输入01,结果有4人
输入02,结果有2人
不知哪位有现成的程序?高分相送.
解决方案 »
- 各位老师,在大家看来再简单不过了,可是我不会....
- 寻求志同道合者一起合作运营幼儿教育与测评系统,北京
- 问一个关于登陆另一台电脑的问题(WnetAddConnection2函数)?
- dbgrib中 怎样知道用户选中哪一行
- █号外,号外██>>>p2p软件源码(NC代码),现在完全免费下载--感谢大家长期来的无私帮助,算是一点小小心意
- 如何根据控件的handle得到它的Name属性值?
- ???如何判断是否安装SQL server 2000 数据库???
- 请问如何把TChart作出来的曲线图输出成Jpg文件??
- 数据集排序问题
- INTEGER变量如何赋值给BYTE和CHAR变量?
- 高手大虾们帮忙啊
- 问两个关于delphi的基础问题
可能需要把工号和上级工号转换为int
procedure TForm1.FormCreate(Sender: TObject);
Var
idrug:integer;
v:Variant; procedure FillTree(TreeNode:TTreeNode;Fathercode:string);
Var
i:integer;
begin
with TADOQuery.Create(NIL) do
begin
Connection :=ADOQuery_title.Connection;
Close;
SQL.Text :='select * from ch_kind';
Open; Filtered:=False;
Filter:='kind_parent='''+Fathercode+'''';
Filtered:=True; for i:=0 to RecordCount-1 do
begin
v:=FieldValues['kind_id'];
Node:=ADT_tree.Items.AddChild(TreeNode,VarToStr(FieldValues['kind_name']));
drugrecord[idrug].drugcode:=VarToStr(v);
drugrecord[idrug].drug_int:=idrug;
Node.Data:=Pointer(v);
idrug:=idrug+1;
FillTree(Node,VarToStr(v));
Next;
end;
Free;
end;
end;begin
idrug:=0;
FillTree(nil,'0');
end;
首页 - 进入论坛 - 全文检索 - 联系方式
加入收藏>>
帮助手册>>
服务指南>>
当前位置:中文开发在线 -> 首页 -> 黄金文章 -> 正文
将数据表连接到TreeView中
foxfox
摘 要:将数据表连接到TreeView中
关键字:数据表 TreeView
类 别:API
CoDelphi.com版权所有,未经允许,不得进行任何形式转载procedure AddDataToTree(TreeView:TTreeView;DataSet:TDataSet)
var
TreeNodes:TTreeNodes
TreeNode:array[0..100] of TTreeNode;
i:Integer;
begin
DataSet.Close;
DataSet.Open;
TreeNodes=TTreeView.Items;
if DataSet.RecordCount>0 then
begin
DataSet.First;
while not DataSet.Eof do
begin
TreeNode[0]=TreeNodes.Add(Nil,DataSet.Fields[0].AsString);
for i=1 to DataSet.Fields.Count-1 do
TreeNode[i]=TreeNodes.AddChild(TreeNode[i-1],DataSet.Fields[i].AsString);
DataSet.Next;
end;
end;
end;
var
LocalName:String;
AddChild:TTreeNode;
ADOQueryTemp:TADOQuery;
begin
ADOQueryTemp:=TADOQuery.Create(nil);
ADOQueryTemp.Connection:=ADOConnection1;
with ADOQueryTemp do
begin
ADOQueryTemp.Close;
ADOQueryTemp.SQL.Clear;
ADOQueryTemp.SQL.Add('select * from master where updep='''+FNodeName+'''');
ADOQueryTemp.Open;
ADOQueryTemp.First;
while not eof do
begin
LocalName:=ADOQueryTemp.fieldByName('Depid').AsString;
AddChild:=TreeView1.Items.AddChild(Node,FieldByName('name').AsString);
AddSubChild(LocalName,AddChild);
Next;
end;
end;
end;procedure TForm1.FormShow(Sender: TObject);
begin
AddSubChild('S',nil);
end;