treeview1中如何知道单击某数据项后,通知知道上面有几个节点?

sbxtzhl 2003-08-21 05:49:13
比如有3个节点,分别是A、B、C,在C节点的下面有一个数据项D,当点击D数据项时,怎么知道D数据项上面是A、B、C三个节点的名称?
谢谢
...全文
76 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbxtzhl 2003-08-24
  • 打赏
  • 举报
回复
我只需要找出同一级的父结点有几个儿子结点就可以了,按照 yxw1314(mosquito) 的方法,得到的是所有父结点的数据,这没有必要。
sbxtzhl 2003-08-24
  • 打赏
  • 举报
回复
up
myadvice 2003-08-22
  • 打赏
  • 举报
回复
道理大家可能都知道,找出祖父结点有几个儿子结点就可以了

不知这个比喻是否合适:一个人想要知道自己的父亲有几个亲兄弟又不便直接向父亲询问,

于是跑去问爷爷:你有几个儿子?
lean77 2003-08-22
  • 打赏
  • 举报
回复
楼主是要找出所有的父节点,还是只要找出上一级的父节点呢?
yxw1314 2003-08-22
  • 打赏
  • 举报
回复
var
j,i,k:integer;
str:string;
begin
str:='';
for i:=0 to treeview1.Items.Count do begin
if treeview1.Items.Item[i].Text=treeview1.Selected.Text then begin
k:=i;
break;
end;
end;
for i:=0 to k-1 do
str:=str+ #13#10+treeview1.Items.Item[i].Text ;
showmessage(str);
end;
如果要同层节点,在if 条件处加上treeview1.items.item[i].parent=treeview1.selected.parent,就可以了。
你试验一下吧!
sbxtzhl 2003-08-22
  • 打赏
  • 举报
回复
就是不会写语句,请指教!
sy_315 2003-08-21
  • 打赏
  • 举报
回复
把你的treeview做到一找数据表中,
逻辑层次就很清楚了
yxw1314 2003-08-21
  • 打赏
  • 举报
回复
也就是只找它们同一层的节点吗?那就循环找出父节点相同的或者父节点为nil就可以了呀。
michaelpeng7799 2003-08-21
  • 打赏
  • 举报
回复
就上面节点的parent是nil
yxw1314 2003-08-21
  • 打赏
  • 举报
回复
直接循环实现就可以了,先得到D节点在第几个位置上。然后循环至它的前一个节点,取每个节点的TEXT就可以了。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧