我在物料类别设置的时候,想把类别名称和类别编号都保存在treeview中。
但是treeview只显示类别名称,即,利用items的text属性保存类别名称
由于增加子类别的时候需要用到类别编号,所以必须把类别编号也保存下来,所以想到了利用data属性,但又不知道该怎么用望高手指教
但是treeview只显示类别名称,即,利用items的text属性保存类别名称
由于增加子类别的时候需要用到类别编号,所以必须把类别编号也保存下来,所以想到了利用data属性,但又不知道该怎么用望高手指教
pMaterialType = ^TMaterialType;
TMaterialType = record
FType: string;
end;添加时:
var
pType: pMaterialType;begin
....
new(pType);
pType.FType:= 'XXXX'; with TreeView1.Items.Add do
begin
Text:= '名称';
Data:= pType;
end; ...
使用时: pMatrialType(TreeView1.Items.Item[intIndex].Data).FType;记得在销毁是要释放内存:
Dispose(TreeView1.Items.Item[intIndex].Data);
1.数据结构内部尽量使用固定大小字段,如
pMaterialType = ^TMaterialType;
TMaterialType = record
FType: string[63];
end;
提高效率,减少动态内存错误。
2.既然是指针,必须注意内存分配和销毁。
3.对DATA的使用使用强制类型转化,并注意指针运算。
pMatrialType(TreeView1.Items.Item[intIndex].Data)^.FType;