请教!如何把数据库里的数据放到treeview里?(30分)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把一个数据库里的一些数据放到TREEVIEW里表现出来(只要父节点,不需要子节点),
我可以用ADOQURY取得数据库里的数据,但接着往下我就不知道怎么做了,ADOQUERY的返回值是存在那里属里呢?是个数组吗?
ADOQUERY与TREEVIEW之间如何传送数据呢?请指教!!
 
1stclass的Dbtreeview
 
用delphi的标准控件时,我是一个记录一个记录添加上去的
 
你可以通过 fieldbyname属性,通过一个循环加入 Treeview 中。
 
Query1.First;
while not Query1.EOF
begin
TreeView.Items.Add(Query1.FieldByName(XX));
Query.Next;
end;


大概是这个意思,写的不对,你参考一下
 
var
TreeNode: TTreeNode;
PTypes: PBarInfo;
begin
TreeView.Items.Clear;
qr1.Open;
while not qr1.Eof do
begin
New(PTypes);
PTypes^.No := qr1.FieldByName('TypeId').AsInteger;
PTypes^.Name := qr1.FieldByName('TypeName').AsString;
PTypes^.Flag := itTypes;
TreeNode := TreeView.Items.Add(nil, PTypes^.Name);
TreeNode.Data := PTypes;
...
end;

大概是这样吧!

 
同意千中元,千中元我上次问你,你是否是在珠海,能给我回答中吗?
我E-MAIL:chianvirga@21cn.com
 
ADOQUERY.First;
while not ADOQUERY.EOF do begin
TreeView.Items.Add(ADOQUERY.findfield(XX).asstring);
ADOQUERY.Next;
end;

 
my codes as follows

procedure TMainForm.AddRec(catalog,text:string);
var
childnode,rootnode,tempnode:TTreeNode;
i,childcount:integer;
begin
rootnode:=TreeView1.Items[0];
i:=0;
childcount:=rootnode.count;
while (i<childcount)
and (catalog<>rootnode.item.Text) do
inc(i);
if i=childcount then
childnode:=TreeView1.Items.AddChild(rootnode,catalog)
else
childnode:=rootnode.Item;
childnode.ImageIndex:=1;
childnode.SelectedIndex:=2;
tempnode:=TreeView1.Items.AddChild(childnode,text);
tempnode.ImageIndex:=3;
tempnode.SelectedIndex:=3;

TreeView1.Selected:=tempNode;
end;
procedure TMainForm.updateTreeView;
begin
TreeView1.Items.Clear;
TreeView1.Items.AddChild(nil,'笔记');

// rootnode:=TreeView1.Items.
with Data.ClientDataSet1 do
begin
if not active then open;
first;
while not eof do
begin
AddRec(FieldbyName('catalog').asstring,FieldbyName('title').asstring);
next;
end;
end;
end;
 
呵呵…!分数少了点,大家就平分吧,谢谢啦,
 
后退
顶部