delphi treeview节点问题(高手请进)

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:36:24
for j:=Low(ayCtrl) to high(ayCtrl) do
begin
with frmMain.qryCtrlGroup do
begin
Close;
SQL.Clear;
SQL.Add('select * from CtrlGroup ');
Open;

for i:=low(aystation) to high(aystation) do
if (ayStation[i].group_no = -1 ) and (frmMain.qryCtrlGroup.FieldByName('ctrl_no').AsInteger = ayCtrl[j].ctrl_no) then
begin
cur_node:=treeStation.Items.AddChild(treeStation.Items.Item[j],ayStation[i].id+'('+ayStation[i].name+')');
cur_node.ImageIndex:=ayStation[i].icon;
cur_node.SelectedIndex:=ayStation[i].icon;
cur_node.Data:=@ayStation[i];
if cur_node.Text=selectStation then
cur_node.Selected:=true;
end;
frmMain.qryCtrlGroup.Next;
end;
end;
这段代码问题出在哪?treeStation.Items.Item[j]这句是不是有问题?

为某个节点加上子节点,例如:
var NewNode:TTreeNode;
begin
NewNode:=self.Treeview1.Items.addChild(self.Treeview1.Items[3],'新的字节点');
//为self.Treeview1.Items[3]加上一个字节点,标签是'新的字节点',
//还有其他的ADD方法,可以查找Delphi帮助

TreeView.Items[0].Item[0]第一个节点的第一个子节点

静态的方法可以在设计时通过Items的编辑器设置各节点的内容。
在添加和删除前必须保证有节点被选中
treeview1.selected.parent.getlastchild
treeview1.Items.Item[treeview1.Items.Count-1]
同层兄弟结点的最后一个