怎么使用treeview控件`delphi

huangji183 2008-06-25 08:09:21
我想通过edit写如的内容写到表中,然后把表中那字段的所有内容都成为treeview结点,按照添加顺序排列` 修改接点,删除结点,语句怎么写啊 ` 请高手帮忙````
...全文
172 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
五哥 2008-06-27
  • 打赏
  • 举报
回复
TTreeView的Date好好使用

通过定义一个结构体,再把结构体指针赋予Date,以后操作节点时,读取Date就可以啦!
allan2008lin 2008-06-26
  • 打赏
  • 举报
回复
procedure TfrmMain.CreateTree(sNode: TTreeNode );
var
s1: TTreeNode;
node : TTreeNode;
sql:string;
PNode: PNodeData;
begin
FrmDm.AQDepartment.Close;
FrmDm.AQDepartment.SQL.Clear;

if( sNode = nil ) then sql := '0'
else sql := (PNodeData(sNode.Data)^).serial;

FrmDm.AQDepartment.SQL.Text := 'select * from Department where parent = '''+ sql +''' and IsDeleted <> ''1'' ';

FrmDm.AQDepartment.Open;
FrmDm.AQDepartment.First;
while not FrmDm.AQDepartment.Eof do
begin
New(PNode);
if( sNode = nil ) then
begin
node := TreeView1.Items.Add( sNode, FrmDm.AQDepartment.Fieldbyname( 'Name' ).AsString );
node.ImageIndex := 0;
end
else
begin
node := TreeView1.Items.AddChild( sNode, FrmDm.AQDepartment.Fieldbyname( 'Name' ).AsString );
node.ImageIndex := 1;
node.SelectedIndex := 1;
end;

PNode^.serial := FrmDm.AQDepartment.FieldByName( 'serial').AsString;
node.Data := PNode;

FrmDm.AQDepartment.Next;
end;
FrmDm.AQDepartment.Close;
if sNode = nil then
s1 := TreeView1.Items.GetFirstNode
else
s1 := sNode.getFirstChild;

while s1 <>nil do
begin
CreateTree(s1);
s1 := s1.getNextSibling;
end;
end;
阿三 2008-06-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 huangji183 的帖子:]
我想通过edit写如的内容写到表中,然后把表中那字段的所有内容都成为treeview结点,按照添加顺序排列` 修改接点,删除结点,语句怎么写啊 ` 请高手帮忙````
[/Quote]
如果想让treeview按添加顺序排列,你的表中最好加一个ID字段,从小到大排序,这样向treeview中加载时可以按顺序添加。
修改删除你可以数据库中的删除,然后重新加载treeview。
jacknes009 2008-06-25
  • 打赏
  • 举报
回复
看下
treeview
基本属性就行了
gyk120 2008-06-25
  • 打赏
  • 举报
回复
http://www.access-cn.com/Article/Class5/Class17/200609/2413.html
http://blog.csdn.net/rfwang/articles/369315.aspx
你自己上网搜索一下,慢慢看吧
huangji183 2008-06-25
  • 打赏
  • 举报
回复
啊` 呵呵 ` 晕` 查了` 不太明白啊` ` 你明白就教叫我呀
7年 2008-06-25
  • 打赏
  • 举报
回复
这个,例子很多,自己查查吧.
kampan 2008-06-25
  • 打赏
  • 举报
回复
procedure TfrmMain.CreateTree(sNode: TTreeNode );
var
s1: TTreeNode;
node : TTreeNode;
sql:string;
PNode: PNodeData;
begin
FrmDm.AQDepartment.Close;
FrmDm.AQDepartment.SQL.Clear;

if( sNode = nil ) then sql := '0'
else sql := (PNodeData(sNode.Data)^).serial;

FrmDm.AQDepartment.SQL.Text := 'select * from Department where parent = '''+ sql +''' and IsDeleted <> ''1'' ';

FrmDm.AQDepartment.Open;
FrmDm.AQDepartment.First;
while not FrmDm.AQDepartment.Eof do
begin
New(PNode);
if( sNode = nil ) then
begin
node := TreeView1.Items.Add( sNode, FrmDm.AQDepartment.Fieldbyname( 'Name' ).AsString );
node.ImageIndex := 0;
end
else
begin
node := TreeView1.Items.AddChild( sNode, FrmDm.AQDepartment.Fieldbyname( 'Name' ).AsString );
node.ImageIndex := 1;
node.SelectedIndex := 1;
end;

PNode^.serial := FrmDm.AQDepartment.FieldByName( 'serial').AsString;
node.Data := PNode;

FrmDm.AQDepartment.Next;
end;
FrmDm.AQDepartment.Close;
if sNode = nil then
s1 := TreeView1.Items.GetFirstNode
else
s1 := sNode.getFirstChild;

while s1<>nil do
begin
CreateTree(s1);
s1 := s1.getNextSibling;
end;
end;
麻仓叶 2008-06-25
  • 打赏
  • 举报
回复
procedure TF_Error.CreateTree();//自定义过程(用来操作TREEVIEW1) 创建树
var
bb: string;
MyRecPtr: PMyRec;
rootnode,sunnode,RootNodeForSec: ttreenode;
begin
treeview1.items.clear;
rootnode:=treeview1.Items.addfirst(nil,标示);
rootnode.SelectedIndex:=0;
rootnode.ImageIndex:=0;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from table order by 字段');
query1.open;
query1.first;
while not query1.eof do
begin
New(MyRecPtr);
MyRecPtr^.User_code:=Query1.fieldbyname(字段).asstring;
bb:=Query1.fieldbyname(字段).asstring;//操作员名称
if Length(MyRecPtr^.字段)=2 then
begin
sunnode:=treeview1.Items.AddChildObject(rootnode,bb,MyRecPtr);
sunnode.SelectedIndex:=2;
sunnode.ImageIndex:=1;
RootNodeForSec:=sunnode;
end
else
begin
sunnode:=treeview1.Items.AddChildObject(RootNodeForSec,bb,MyRecPtr);
sunnode.SelectedIndex:=6;
sunnode.ImageIndex:=5;
end;
query1.next;
end;
treeview1.FullExpand;
end;

16,742

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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