delphi怎样实现单击treeview中的父节点,显示相应的子节点

oa2008032220 2012-03-22 11:31:24
delphi怎样实现单击treeview中的父节点,显示相应的子节点
求高手!!!!
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
oa2008032220 2012-03-24
  • 打赏
  • 举报
回复
主要是先获得上级的名字,Node :=Tree.Items.Add(nil,ADOQuery1.FieldByName('func_name').AsString);

再执行一个循环,在循环中获得该名字下的子节点。

后它本身再循环,即显示其同级的其他名字。
delphi_11 2012-03-24
  • 打赏
  • 举报
回复
procedure TForm1.maketree;
var
Node : TTreeNode;

begin
with ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select func_name,id from ok_function where parent_id=0');
Open;
end;
while not ADOQuery1.Eof do
begin
Node :=Tree.Items.Add(nil,ADOQuery1.FieldByName('func_name').AsString);
gridqry.Close;
gridqry.SQL.Clear;
gridqry.SQL.Add('select func_name from ok_function where parent_id='''+ADOQuery1.FieldByName('id').AsString+'''');
gridqry.Open;
while not gridqry.Eof do
begin
Tree.Items.Addchild(node,gridqry.FieldByName('func_name').AsString);
gridqry.Next;
end;
gridqry.Close;
ADOQuery1.Next;
end;
ADOQuery1.Close;
end;
程晨c 2012-03-23
  • 打赏
  • 举报
回复
TreeView1.Items[0].Expanded := true;
「已注销」 2012-03-23
  • 打赏
  • 举报
回复
//选中某个节点
TreeView1.Items[0].Selected := true;
//展开某个节点
TreeView1.Items[0].Expanded := true;
sz0557it 2012-03-23
  • 打赏
  • 举报
回复
高手回复
bdmh 2012-03-23
  • 打赏
  • 举报
回复

var
i:Integer;
begin
for i := 0 to TreeView1.Selected.Count - 1 do
begin
ShowMessage(TreeView1.Selected.Item[i].Text);
end;
end;

5,386

社区成员

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

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