Delphi树形控件节点操作

4
我有这样一个树形结构:

Users
  |_Online
  |_Offline
    |_ user1 --> current status offline 
    |_ user2 --> current status Online
    |_ user3 --> current status offline
    |_ user4 --> current status online

我想做的是,当用户在线时,将他从离线节点中删除并移到在线节点中。 举例来说,对于用户2和用户4,请帮忙。 非常感谢。
1个回答

8

假设您正在使用内置的TTreeView,则可以调用TTreeNode.MoveTo方法。

user2node.MoveTo(onlineNode, naAddChild);

如果你问一个评论:
“我在代码中如何访问离线子节点?”
可以这样做:
像这样:
node := offlineNode.getFirstChild;
while Assigned(node) do
begin
  DoSomething(node);
  node := node.getNextSibling;
end;

谢谢。但是我如何在代码中访问离线子节点? 例如 对于 i:=0 到 treeview.items.count-1 的代码 - randydom
好的,我已经回答了那个额外的问题。 - David Heffernan
@randydom 基本上,您想要将某些内容存储在 node.Data 字段中,以便可以验证节点数据(应指向用户对象,从中获取状态)是否位于 "离线" 节点中的 "在线" 状态。如果我理解正确,那么您希望实现的逻辑就是这样。 - user497849

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接