type
PViewItem=^ViewItem;
ViewItem=record
DataSet:TDataSet;
Field:TField;
end;var
i:Integer;
Root:TTreeNode;
NewItem:PViewItem;
begin
try
if not DataSet.Active then exit;
Root:=m_tvDataSet.Items.Add(nil,DataSet.Name);
for i:=0 to DataSet.FieldCount -1 do
begin
new(NewItem);
NewItem^.DataSet :=DataSet;
NewItem^.Field :=DataSet.Fields[i];
m_tvDataSet.Items.AddChildObject(Root,DataSet.Fields[i].DisplayName,NewItem );
end;
except
end;
PViewItem=^ViewItem;
ViewItem=record
DataSet:TDataSet;
Field:TField;
end;var
i:Integer;
Root:TTreeNode;
NewItem:PViewItem;
begin
try
if not DataSet.Active then exit;
Root:=m_tvDataSet.Items.Add(nil,DataSet.Name);
for i:=0 to DataSet.FieldCount -1 do
begin
new(NewItem);
NewItem^.DataSet :=DataSet;
NewItem^.Field :=DataSet.Fields[i];
m_tvDataSet.Items.AddChildObject(Root,DataSet.Fields[i].DisplayName,NewItem );
end;
except
end;
TYourData = class
...
end;var
YourData : TYourData;...
YourNode.Data := YourData;