一个关于TreeView的问题?????
var row,rownum,col,colnum:integer;
getstr:array of string;
begin
rownum=4;
colnum=16;
setlength(getstr,colnum);
for row:= 0 to rownum-1 do
begin
for col:= 0 to colnum-1 do
begin
//代码略,每row循环一次得出getstr数组的结果
end;
//现在要将getstr的每一元素当一个支点,在这里添加代码以实现利用TreeView建成树,怎样实现代码
end;
end;
//即循环3次获得getstr
第一次循环:
getstr={aa,bb,cc,dd}
第一次循环:
getstr={aa,bb,ff,dd}
第一次循环:
getstr={bb,cc,dd}
现在根据getstr数组3次的数据生成树结构:
aa
|_bb
|_cc
| |_dd
|_ff
|_dd
bb
|_cc
|_dd//请问怎样做好呢?
var row,rownum,col,colnum:integer;
getstr:array of string;
begin
rownum=4;
colnum=16;
setlength(getstr,colnum);
for row:= 0 to rownum-1 do
begin
for col:= 0 to colnum-1 do
begin
//代码略,每row循环一次得出getstr数组的结果
end;
//现在要将getstr的每一元素当一个支点,在这里添加代码以实现利用TreeView建成树,怎样实现代码
end;
end;
//即循环3次获得getstr
第一次循环:
getstr={aa,bb,cc,dd}
第一次循环:
getstr={aa,bb,ff,dd}
第一次循环:
getstr={bb,cc,dd}
现在根据getstr数组3次的数据生成树结构:
aa
|_bb
|_cc
| |_dd
|_ff
|_dd
bb
|_cc
|_dd//请问怎样做好呢?
Tnode.HasChildren可以用来判断是不是叶子节点。
我写了一个但有问题,帮手解决一下:
for i:= 0 to colk-1 do
begin
if recstr[i]<>' ' then
begin
treelist[rowk][i]:=recstr[i];
//Node1:=TreeView1.Items.GetFirstNode;
if (rowk<=1) or ((recstr[i]<>treelist[rowk-1][i])) then
begin
case i of
4:
begin
Node:=nil;
Node:=TreeView1.Items.AddChild(Node,recstr[i]);
end;
6,8,10,12:
begin
Node:=TreeView1.Items.AddChild(Node,recstr[i]);
end;
else
Continue;
end;
end else
begin
case i of
6,8,10,12:
Node:=TreeView1.Items.AddChild(Node,recstr[i]);
else
Continue;
end;
end;
end;
end;
大家帮手解决一下,或者写一个更好的