Q&A

  • TreeView에서 중복 Item 없애기??..
procedure TT101Fm3.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
  var AllowExpansion: Boolean);
begin
   case Node.Level of
    0:
     begin
       TNode1 := Node.getFirstChild;
       TNode3 := TNode1.Parent;       //부모노드값을 구한다
       clcd := TNode3.Text;
       clcd := Copy(clcd,1,4);
       for i := 1 to Node.Count do begin
         brcd := TNode1.Text;
         brcd := Copy(brcd,1,3);
         with SQLjob do begin
              Close;
              sql.Clear;
              //SQL문 생략 clcd,brcd를 참조함
              Open;
              while (not Eof) do begin
                 TreeView1.Items.AddChild(TNode1,FieldByName('JOBNO').AsString);
                 Next;
              end;
              Close;
         end;
         TNode1 := TNode1.getNextSibling;
       end;
     end;
   end;
end;

부모노드를 두세번 접었다 펼치면  위의 while 구문에 따리 처음 1개 다음2개
다음3개 막늘어 납니다.
Tnode값을 초기화 해야 하는것은 알겠는데....
(몇일전 질문에서도 초기화 해야 된다고는 답변을 해 주었는데요...)
그 방법을 모르겠네요...for문 안 어디선가 해주어야 할것 같은데...
Delete, Clear를 해주면 TNode1 := TNode1.getNextSibling; 요기서
실행에러가 나고...
한수 가르침 부탁드립니다. 감사합니다.
2  COMMENTS