使用树型控件出错求解.(0分)

  • 主题发起人 主题发起人 topdelphi
  • 开始时间 开始时间
T

topdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
我的窗体有个TTREEVIEW
我想这个树型控件读取数据库的各个字段出来,数据表如下
user_ids user_names user_pwd user_lvl
我想显示成这个
user_ids
-----user_name
user_pwd
-----user_lvl

但是我的代码出现了下面的错误,请帮忙修改一下,谢谢
[Error] Unit1.pas(94): Incompatible types: 'TTreeNode' and 'Char' '

procedure TForm1.FormCreate(Sender: TObject);
begin
treeview.Items.Clear;
treeview.Items.AddFirst('user_ids');
treeview.Items.aAddChild('user_name');
treeview.Items.AddChildFirst('user_pwd');
 
没人回答吧,因为你没给分。我来学雷锋吧
var
node :Ttreenode ;
begin
node :=treeview1.Items.Add(nil,'1');
treeview1.Items.AddChild(node,'11');
treeview1.Items.AddChild(node,'12');
node :=treeview1.Items.Add(nil,'2');
treeview1.Items.AddChild(node,'21');
treeview1.Items.AddChild(node,'22');
treeview1.FullExpand ;//扩展所有节点
end ;
试试看,不行再联系。
 
对不起,我真的没分了,我也不想的,只有5分,比人家都会怪我小气~~~不过真的谢谢你了.

但是我还有一小问题,但是在那个事件里如何让树型控件知道,我单击的了那个节点,就
触发那些事件,例如我弹击了子节点11,就弹出一个对话框,单击子节点12,就出现一个文本
框,请问如何做的???小弟到此感激不尽了.
 
case treeview1.Selected.AbsoluteIndex of
1:
begin

end;
2:begin

end;
end;
 
谢谢你的回答,但是我写成这样,出错了,请问如何修改啊.
procedure TForm1.FormCreate(Sender: TObject);
var
node :Ttreenode ;
i:integer;
begin
node :=treeview1.Items.Add(nil,'1');
treeview1.Items.AddChild(node,'11');
treeview1.Items.AddChild(node,'12');
node :=treeview1.Items.Add(nil,'2');
treeview1.Items.AddChild(node,'21');
treeview1.Items.AddChild(node,'22');
treeview1.FullExpand ;//扩展所有节点

for i:=0 to treeview1.Items.Count -1 do
begin
case treeview1.Selected.AbsoluteIndex of
0:begin
showmessage('1');
end ;

1:begin
showmessage('2');
end;
end;
end;
end;
end.
 
1.不能用FOR循环。也不应该在TForm1.FormCreate里写,
应该在TForm1.TreeView1Change里写。
2.case treeview1.Selected.AbsoluteIndex of
应写为:case treeview1.Selected.AbsoluteIndex of

例1: 显示所选节点名
procedure TForm1.TreeView1Change
(Sender: TObject; Node: TTreeNode);
begin
showmessage(node.Text);
end;

例2: 根据节点名工作
procedure TForm1.TreeView1Change
(Sender: TObject; Node: TTreeNode);
begin
if node.Text = '11' then beep ;
if node.Text = '22' then
showmessage('this is 22');
end;

例3: 根据节点序号工作
//序号从0开始
procedure TForm1.TreeView1Change
(Sender: TObject; Node: TTreeNode);
begin
case treeview1.Selected.AbsoluteIndex of
1:
begin
showmessage('this is 1') ;
end;
4:
begin
showmessage('this is 4') ;
end;
end;
end;
 
后退
顶部