我用的delphi7.0
var
tn : Ttreenode;
begin
tv.Items.Clear;
tv.Items.AddChildFirst(tn,'dd');
这么简单一个问题,怎么要不能插入呢?
var
tn : Ttreenode;
begin
tv.Items.Clear;
tv.Items.AddChildFirst(tn,'dd');
这么简单一个问题,怎么要不能插入呢?
解决方案 »
- 如何继承twincontrol,画一个矩形控件?
- 怎么用DELPHI开发会有这样的错误提示呢?很郁闷呀,急
- 求教一个关于文本输入框的问题
- test
- 安装Dephi6时出现"Internet Error 2349"错误???
- 300分求教!!!!怎样用DELPHI控制EXCEL中某一单元格的某一边框是否显示??
- 怎样解决这样一个触发事件的问题...............................?
- 怎样在DBListBox显示表中一个字段的所有记录?
- 我在做控件时,参考VCL源码,发现有许多CM_XXXX,CN_XXXX的消息,是VCL内部的消息,察看书本,它说在联机帮助中有说明,但我找遍也没有,请问在哪儿?
- 紧急求助,关于NT下文件目录共享的问题
- 如何将函数传来的字符串,转换成与字符串相同的控件(Table)名称,且控件已经存在。Thanks
- 求教SQL语句!急!急!急!
type
PMyDataRec = ^TMyDataRec;
TMyDataRec = record
ID: string;
IDP: string;
GroupID: string;
Mobile: string;
end;const
IMGMan = 0;
IMGWoman = 1;
IMGUnknown = 2;
procedure TDM.AddContactInfoToTreeView(ATreeView: TTreeView); procedure ClearTreeViewItems(ATreeView: TTreeView);
var
Node: TTreeNode;
begin
Node := ATreeView.Items.GetFirstNode;
while Node <> nil do
begin
if Node.Data <> nil then
begin
Dispose(Node.Data);
end;
Node := Node.GetNext;
end;
ATreeView.Items.Clear;
end;var
GroupID: string;
MyDataRec: PMyDataRec;
Node1, Node2, Node3, Node4: TTreeNode;
begin
ClearTreeViewItems(ATreeView);
New(MyDataRec);
Node1 := ATreeView.Items.Add(nil, '联系人');
MyDataRec.ID := '';
MyDataRec.IDP := '';
Node1.Data := MyDataRec;
Node1.ImageIndex := IMGroot;
Node1.SelectedIndex := IMGroot;
with ADOQAddContactInfoToTreeView do
begin
ADOQGroup.Close;
ADOQGroup.SQL.Clear;
ADOQGroup.SQL.Add('Select * from Group1');
ADOQGroup.Open;
while not ADOQGroup.Eof do
begin
New(MyDataRec);
GroupID := ADOQGroup.FieldByName('GroupID').AsString;
MyDataRec.ID := GroupID;
MyDataRec.GroupID := GroupID;
Node2 := ATreeView.Items.AddChildObject(Node1, ADOQGroup.FieldValues['Name'], MyDataRec);
if not Node1.Expanded then
Node1.Expanded := True;
Node2.ImageIndex := IMGGROUP;
Node2.SelectedIndex := IMGGROUP;
ADOQCompany.Close;
ADOQCompany.SQL.Clear;
ADOQCompany.SQL.Add('Select distinct Company.ID as cid, Company.Name as cname from Company, UClient');
ADOQCompany.SQL.Add('Where (UClient.IDP Like Company.ID + ''%'') and (UClient.GroupID = :GroupID)');
ADOQCompany.Parameters.ParamByName('GroupID').Value := GroupID;
ADOQCompany.Open;
while not ADOQCompany.Eof do
begin
New(MyDataRec);
MyDataRec.ID := ADOQCompany.FieldByName('cid').Value;
Node3 := ATreeView.Items.AddChildObject(Node2, ADOQCompany.FieldValues['CName'], MyDataRec);
if not Node2.Expanded then
Node2.Expanded := True;
Node3.ImageIndex := IMGCONTACT;
Node3.SelectedIndex := IMGCONTACT;
ADOQPerson.Close;
ADOQPerson.SQL.Clear;
ADOQPerson.SQL.Add('select distinct * from UClient');
ADOQPerson.SQL.Add('where (IDP Like :cid + ''%'') and (GroupID = :GroupID)');
ADOQPerson.Parameters.ParamByName('CID').Value := MyDataRec.ID;
ADOQPerson.Parameters.ParamByName('GroupID').Value := GroupID;
ADOQPerson.Open;
while not ADOQPerson.Eof do
begin
New(MyDataRec);
MyDataRec.ID := ADOQPerson.FieldValues['ID'];
MyDataRec.IDP := ADOQPerson.FieldValues['IDP'];
MyDataRec.Mobile := ADOQPerson.FieldValues['Mobile'];
Node4 := ATreeView.Items.AddChildObject(Node3, ADOQPerson.FieldValues['Name'], MyDataRec);
case ADOQPerson.FieldByName('Sex').AsInteger of
1:
begin
Node4.ImageIndex := IMGMan;
Node4.SelectedIndex := IMGMan;
end;
2:
begin
Node4.ImageIndex := IMGWoman;
Node4.SelectedIndex := IMGWoman;
end;
else
begin
Node4.ImageIndex := IMGUnknown;
Node4.SelectedIndex := IMGUnknown;
end;
end;
ADOQPerson.Next;
end;
ADOQCompany.Next;
end;
ADOQGroup.Next;
end;
Close;
end;
end;
树就没有节点了,这时只能添加根节点
不能添加子节点
应该用tv.items.add(nil.'dd');
tn := tv.Items.AddChildFirst(nil,'aa');
tv.Items.AddChildFirst(tn,'dd');