查了以前的原贴
: http://search.csdn.net/Expert/topic/2281/2281015.xml?temp=.8000452
其中有问题根本不能实现;
出现的问题正如最后一位发言所说,高手请帮忙解决,谢谢也就是说
while not ADOQuery1.Eof do
Begin
Newtreeview(tmpNode,ADOQuery1.FieldByName('ANIMAL_CODE').AsString,
ADOQuery1.FieldByName('ANIMAL_NAME').AsString);
ADOQuery1.next;
其中ADOQuery1的值在递归后是改变了,而在中途满足条件的多条记录就出现问题,不能全部加进去,只能加一条
: http://search.csdn.net/Expert/topic/2281/2281015.xml?temp=.8000452
其中有问题根本不能实现;
出现的问题正如最后一位发言所说,高手请帮忙解决,谢谢也就是说
while not ADOQuery1.Eof do
Begin
Newtreeview(tmpNode,ADOQuery1.FieldByName('ANIMAL_CODE').AsString,
ADOQuery1.FieldByName('ANIMAL_NAME').AsString);
ADOQuery1.next;
其中ADOQuery1的值在递归后是改变了,而在中途满足条件的多条记录就出现问题,不能全部加进去,只能加一条
已经实现树型结构了但是 显示的是ID 不是NAME 代码如下 :请问高手怎么修改显示NAME
var
i,j:integer;
s,s1:string;
node,subnode:TTreeNode;
m,n,m1,n1:integer;
begin
m1:=0;
form1.TreeView1.Items.Clear;
form1.Table1.Open;
form1.Table1.First;
i:=form1.Table1.RecordCount;
if i>0 then
begin
for j:=0 to i-1 do
begin
s:=form1.Table1.FieldValues['pareant_id'];
s1:=form1.Table1.FieldValues['id'];
m:=form1.TreeView1.Items.Count;
if m=0 then
begin
node:=form1.TreeView1.Items.Add(nil,s);
node.ImageIndex:=0;
node.SelectedIndex:=2;
subnode:=form1.TreeView1.Items.AddChild(node,s1);
subnode.ImageIndex:=1;
subnode.SelectedIndex:=3;
end
else
begin
for n:=0 to m-1 do
begin
if form1.TreeView1.Items.Item[n].Text=s then
begin
m1:=m1+1;
n1:=n;
end;
end;
if m1=0 then
begin
node:=form1.TreeView1.Items.Add(nil,s);
node.ImageIndex:=0;
node.SelectedIndex:=2;
subnode:=form1.TreeView1.Items.AddChild(node,s1);
subnode.ImageIndex:=1;
subnode.SelectedIndex:=3;
end
else
begin
subnode:=form1.TreeView1.Items.AddChild(form1.TreeView1.Items.Item[n1],s1);
subnode.ImageIndex:=1;
subnode.SelectedIndex:=3
end;
end;
m1:=0;
form1.Table1.Next;
end;
end;
end;
parentid id name
0 1 a
0 2 b
1 3 c
1 4 d
2 5 e是这么建吗?但是显示在treeview上根节点是一个0,其他的节点都显示name怎么办啊