我扫描了一个treeview,已经显示,现在想在listbox中显示相应节点的内容,节点内容存在 var DataOut: array[1..256] of char 中,如何实现? 用ListBox1.Items.Add(DataOut)为何不行,我知道add()中要用const
to all 我的意思是说:将每一个节点的DATA显示在对应的节点上.
treeview的data属性是一个指针,当然,指针指向的位置可以存储你想存储的任何内容: 首先,得声明你的指针和你想要在节点存储的数据(如果有多个字段,可以用记录来处理); type ptr=^schar schar=record field1:string, field2:integer, ... end; 在加载树时你可以将你想要存储到节点的数据放进schar: var p:ptr .... new(p); p^.field1:='aaa';//在此可读入数据 p^.field2:=1; .... treeview.items.addchildobject(node,'',p); ... 这样,附加信息就写入了节点的data;如何读取呢: 下面是一段删除选中节点及子节点的代码(同时删除数据库中对应数据): procedure TForm1.detree(node: ttreenode); var tnode:ttreenode; i:integer; s1,s2:string; begin if node.HasChildren then begin for i:=node.Count-1 downto 0 do begin if node.Item[i].HasChildren then detree(node.Item[i]); s1:=pchar(node.Item[i].Data)^.mcaption; s2:=pchar(node.Item[i].data)^.tcaption; with form1.pub do begin close; sql.Clear; sql.Add('delete BOMMD where MD001=:AA and MD003=:BB'); parameters[0].Value:=s1; parameters[1].Value:=s2; ExecSQL; end; node.Item[i].Delete; end; end; node.Delete; end;
TO all 每一个树结点上的 data 值是隐含看不见的,我只是想将其显示在对应的树结点上. 就象是 text 的值一样。当然,是先显示 data 的值,然后再显示 text 的值。 是否有一个属性,可以设置 data 值的显示与隐含。
每一个树结点上的 data 值是隐含看不见的,我只是想将其显示在对应的树结点上. 就象是 text 的值一样。当然,是先显示 data 的值,然后再显示 text 的值。 是否有一个属性,可以设置 data 值的显示与隐含。楼主的话有问题啊 不知道把DATA赋值给TEXT是否如楼主所想老王回答的已经不错了,!!
cus_str:=Pstr(TTnode.Data)^;
data的读通过程序控制.
var DataOut: array[1..256] of char 中,如何实现?
用ListBox1.Items.Add(DataOut)为何不行,我知道add()中要用const
我的意思是说:将每一个节点的DATA显示在对应的节点上.
首先,得声明你的指针和你想要在节点存储的数据(如果有多个字段,可以用记录来处理);
type
ptr=^schar
schar=record
field1:string,
field2:integer,
...
end;
在加载树时你可以将你想要存储到节点的数据放进schar:
var
p:ptr
....
new(p);
p^.field1:='aaa';//在此可读入数据
p^.field2:=1;
....
treeview.items.addchildobject(node,'',p);
...
这样,附加信息就写入了节点的data;如何读取呢:
下面是一段删除选中节点及子节点的代码(同时删除数据库中对应数据):
procedure TForm1.detree(node: ttreenode);
var
tnode:ttreenode;
i:integer;
s1,s2:string;
begin
if node.HasChildren then
begin
for i:=node.Count-1 downto 0 do
begin
if node.Item[i].HasChildren then
detree(node.Item[i]);
s1:=pchar(node.Item[i].Data)^.mcaption;
s2:=pchar(node.Item[i].data)^.tcaption;
with form1.pub do
begin
close;
sql.Clear;
sql.Add('delete BOMMD where MD001=:AA and MD003=:BB');
parameters[0].Value:=s1;
parameters[1].Value:=s2;
ExecSQL;
end;
node.Item[i].Delete;
end;
end;
node.Delete;
end;
s1:=pchar(node.Item[i].Data)^.mcaption;
s2:=pchar(node.Item[i].data)^.tcaption;
这两句读取Data属性存储的附加数据,这里申明的指针及记录与前面不一样。
每一个树结点上的 data 值是隐含看不见的,我只是想将其显示在对应的树结点上.
每一个树结点上的 data 值是隐含看不见的,我只是想将其显示在对应的树结点上.
就象是 text 的值一样。当然,是先显示 data 的值,然后再显示 text 的值。
是否有一个属性,可以设置 data 值的显示与隐含。
就象是 text 的值一样。当然,是先显示 data 的值,然后再显示 text 的值。
是否有一个属性,可以设置 data 值的显示与隐含。楼主的话有问题啊
不知道把DATA赋值给TEXT是否如楼主所想老王回答的已经不错了,!!
无论如何,还是先把分给你吧.