如何判断一个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 这个有子节的节点,晕啊.....

解决方案 »

  1.   

    if (tempnode.Parent=nil) or (tempnode.Level = 0 ) and (tempnode.HasChildren=false) then
    这样看看
      

  2.   

    if (tempnode.Parent=nil) or (tempnode.IsFirstNode) and (tempnode.HasChildren=false) then你的这句改成:
     if ((tempnode.Parent=nil) or (tempnode.IsFirstNode)) and (tempnode.HasChildren=false) then这样也可以了!
    也就是在 非曲直      ((tempnode.Parent=nil) or (tempnode.IsFirstNode)) 外层加上一小括号!
      

  3.   

    if (treeview1.Items[i].Parent = nil) and (not treeview1.Items[i].HasChildren) then
      

  4.   

    楼上的
    if (treeview1.Items[i].Parent = nil) and (not treeview1.Items[i].HasChildren) then的i应该是j吧?