我想根据库中表T_Group(code,name)来动态给frmmain窗体里Treeview创建节点最多能创建4级子节点...(以下数字均为数据表中记录code字段的值)00 是根节点 01,02,03...是00的下级节点0100...是01的节点的下级节点010000 是0100的节点的下级节点01000000 是010000的节点的下级节点这样的规律,请问该如何实现啊~~!
解决方案 »
- 各位老师,如何利用 Table1 的Lookup 方法查询表中的多条记录?
- !!!100分!!!在线等-为什么用Telnet打开的程序在Telnet关闭后也关闭?
- 删除数组中的一个值
- Delphi擂台赛第一期结果揭晓
- InterBase库里的表和MSSQL表之间的Import/Export的问题?
- 300分!求ftp客户端程序,具体要求内详。(贴1)
- 运行Application.MessageBox出错!
- 求delphi初学实例!
- 拨号上网,如何连接远程数据库!
- bds.exe重命名后,如何正确运行起来?
- 版主请教:Delphi方法问题
- !!大家帮忙看看,要用到rtl70.bpl这个,是什么问题??
在取数的时候ORDER BY CODE,那么结果就是
01
0100
010000
01000000
02
.
.
procedure TForm1.Show_TreeView(Code_Str: String; nNode: TTreeNode);
var
FriendNode :TTreeNode;
TreeQuery :TADOQuery;
MyRecordPointer :PGroupRecord;
begin
TreeQuery:=TADOQuery.Create(nil);
TreeQuery.Connection:=ADOConnection1;
TreeQuery.Close;
TreeQuery.SQL.Clear;
TreeQuery.SQL.Add('select code,name from table1 where code like '''+Code_Str+'''');
TreeQuery.Open;
WHILE NOT TreeQuery.Eof DO
BEGIN
New(MyRecordPointer);
MyRecordPointer.code:=TreeQuery.FieldByName('code').AsString;
MyRecordPointer.name:=TreeQuery.FieldByName('name').AsString;
FriendNode:=Treeview.Items.AddChildObject(nNode,MyRecordPointer.code,MyRecordPointer);
Show_TreeView(MyRecordPointer.code+'__',FriendNode);
TreeQuery.Next;
END;
end;
记得定义记录
type
PGroupRecord =^TGroupRecord;
TGroupRecord =record
code :String;
name :String;
end;