如何判断一个treeview中没有子节点的所有一级节点??我的程序怎么也判断不了1
11
12
13
2
21
22
23
3
4
5
6
7我想获得 34567这几个节点,当然规律是不定的
我的程序:
var i,j,x:integer;
tempnode:ttreenode;
begin
i:=treeview1.Items.Count-1;
for j:=0 to i do
begin
tempnode:=treeview1.Items.Item[j];
if (tempnode.Parent=nil) or (tempnode.IsFirstNode) and (tempnode.HasChildren=false) then
begin
getfield(tempnode.Text);
for x:=0 to combobox2.Items.Count-1 do
begin
treeview1.Items.AddChild(tempnode,combobox2.Items.Strings[x]);
end;
end;
end;
if (tempnode.Parent=nil) or (tempnode.IsFirstNode) and (tempnode.HasChildren=false) then这个判断语句无法跳过1 和 2 这个有子节的节点,晕啊.....
11
12
13
2
21
22
23
3
4
5
6
7我想获得 34567这几个节点,当然规律是不定的
我的程序:
var i,j,x:integer;
tempnode:ttreenode;
begin
i:=treeview1.Items.Count-1;
for j:=0 to i do
begin
tempnode:=treeview1.Items.Item[j];
if (tempnode.Parent=nil) or (tempnode.IsFirstNode) and (tempnode.HasChildren=false) then
begin
getfield(tempnode.Text);
for x:=0 to combobox2.Items.Count-1 do
begin
treeview1.Items.AddChild(tempnode,combobox2.Items.Strings[x]);
end;
end;
end;
if (tempnode.Parent=nil) or (tempnode.IsFirstNode) and (tempnode.HasChildren=false) then这个判断语句无法跳过1 和 2 这个有子节的节点,晕啊.....
这样看看
if ((tempnode.Parent=nil) or (tempnode.IsFirstNode)) and (tempnode.HasChildren=false) then这样也可以了!
也就是在 非曲直 ((tempnode.Parent=nil) or (tempnode.IsFirstNode)) 外层加上一小括号!
if (treeview1.Items[i].Parent = nil) and (not treeview1.Items[i].HasChildren) then的i应该是j吧?