帮助里有很详细的说明和例子啊。我这里没有装Delphi所以没法帮你查。
解决方案 »
- 请教组件制作,displayformat是怎么实现的?
- 请教:最近想学设计模式,发现很难入手!
- 如何动态自定义在DBGrid中的字段类型?(在线等!100分)
- savedialog中用什么标识我是点了“确定”还是“取消”
- 小弟才学delphi,有一个问题不懂。求教。
- 动态加载FRAMES的时候,如何给FRAMES里的元素赋值?100分
- 极其简单的问题
- 在WINDOWS XP下,如何配置DCOM?
- 用ADO控件经常弹出一个Database Login对话框,有什么方法可以把这个对话框去掉?
- 为什么现在用DELPHI的人越来越多啊??
- 问:请讲解Owner 和 Parent的详细区别,老达摩 和 nofog 有空也来说说
- 有没有简单的移动文件的语句?
01([0])
0101([1])
0102([2])
02([3])
0201([4])
0202([5])
Edit2.Text := IntToStr(TreeView1.Selected.Index + 1);//节点
//数据集解构成树****************************************************************
//==============================================================================
procedure DataSetToTreeView(DataSet: TDataSet; var TreeView: TTreeView; NodeRoot: string);
var Nodes: array of TTreeNode;
Strs: array of string;
i: integer;
begin
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
with DataSet do
begin
Close;
Open;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SetLength(Nodes, FieldCount+1);
SetLength(Strs, FieldCount);
Nodes[0] := TreeView.Items.AddChild(nil, NodeRoot);
for i:=Low(Strs) to High(Strs) do Strs[i] := #255;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
First;
while not Eof do
begin
for i:=Low(Strs) to High(Strs) do
if Strs[i]<>Fields[i].AsString then
begin
Strs[i] := Fields[i].AsString;
Nodes[i+1] := TreeView.Items.AddChild(Nodes[i],Fields[i].AsString);
end;
Next;
end;
Close;
end;
end;
可在结点的DATA属性里存信息
确定该结点是第几层?
可通过结点的LEVEL得到
第几个结点?
item[i]
[email protected]