关于TREEVIEW的用法

xiaotu982 2003-08-31 01:33:56
如果我想要在DELPHI的一个FORM 在ONSHOW时,把表的某个字段添加到TREEVIEW中,这个程序应该怎么写?
有没有类似treeview的第三方控件,可以直接与数据字段相关连的?
...全文
69 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
TrueHunter 2003-08-31
  • 打赏
  • 举报
回复
procedure TForm1.draw_tree;
var node,node1,node2,node3,node4:TTreeNode;
begin
try
qry_bm.close;
qry_bm.SQL.Clear;
qry_bm.sql.add('select DWBM from EMSFMGCZT order by DWBM');
qry_bm.open;
node:=treeview1.Items.Add(nil,'备件消耗单编号');
while not qry_bm.eof do
begin
with qry_temp do
begin
with sql do
begin
clear;
add('select DEPARTMENT_NAME from BISFCDEPA where DEPARTMENT_code=:l_code and DELETE_SIGN=''N''');
end;
parambyname('l_code').asstring:=trim(qry_bm.fieldbyname('dwbm').asstring);
//showmessage(sql.text);
open;
node1:=treeview1.Items.Addchild(node,trim(qry_bm.fieldbyname('dwbm').asstring)+' '+
trim(fieldbyname('DEPARTMENT_NAME').asstring));
node1.ImageIndex:=0;
node1.SelectedIndex:=1;
with qry_temp do
begin
try
close;
with sql do
begin
clear;
add('select bdbm from EMSFMBJXHZ where dwbm=:ldw');
end;
parambyname('ldw').asstring:=trim(qry_bm.fieldbyname('dwbm').asstring);
open;
while not qry_temp.eof do
begin
node2:=treeview1.Items.AddChild(node1,trim(qry_temp.fieldbyname('bdbm').asstring));
node2.ImageIndex:=2;
node2.SelectedIndex:=3;
node3:=treeview1.Items.AddChild(node2,'pfx');
node3.ImageIndex:=4;
node3.SelectedIndex:=5;
node4:=treeview1.Items.AddChild(node3,'sunyan');
node4:=treeview1.Items.AddChild(node3,'yuweigang');
next();
end;
finally
close;
end;
end;
qry_bm.Next();
end;
end;
node:=treeview1.Items.Add(nil,'备件消耗材料名称');
with qry_temp do
begin
try
close;
with sql do
begin
clear;
add('select bjbm from EMSFMBJXHC group by bjbm');
end;
open;
tbl_bjlyd.open;
while not qry_temp.eof do
begin
if tbl_bjlyd.Locate('MATERIAL_CODE',trim(Fieldbyname('bjBM').asstring),[loCaseInsensitive])=true then
node1:=treeview1.Items.AddChild(node,trim(tbl_bjlyd.FieldByName('MATERIAL_CODE').Asstring)+' '+trim(tbl_bjlyd.FieldByName('MATERIAL_NAME').Asstring));
node1.ImageIndex:=2;
node1.SelectedIndex:=3;
next();
end;
finally
close;
end;
end;

finally
qry_bm.close;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
draw_tree();
end;
zsy_good 2003-08-31
  • 打赏
  • 举报
回复
定义treenode对象,创建实例,
treeview.nodes.add

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧