Q&A

  • 동적으로 생성되는 TreeView생성방법
안녕하십니까!

삼우이엠씨 전산실에 근무하는 최수영이라고 합니다!



트리뷰를 사용하여 동적으로 부서코드를 생성하는

예제가 찾아봐도 없더군요...

제가 생각하기엔 많이 쓸것 같은데...

아래이메일 주소로 보내주시면 고맙겠습니다!



s_y_choi@hotmail.com

02-3672-7751



텔파이 고수님들의 해결을 부탁드립니다!





1.테이블 레이아웃

bs_code bs_level bs_name

------- -------- -------

1000 1 관리본부

1010 2 총무부

1030 2 경리부

1050 2 전산실



3000 1 공사관리부

3010 2 공사관리부



3200 1 내장사업부

3210 2 내장영업부

3230 2 내장공사부



3400 1 외장사업부

3410 2 외장영업부

3430 2 외장공사부}



아래와 같은 내용을

동적으로 퀴리하여 트리뷰를 아래같이 구성할려면

어떻게 해야 하나요..

/**********************************************/

1000 관리본부

1010 총무부

1030 경리부

1050 전산실

3000 공사관리부

3010 공사관리부

3200 내장사업부

3210 내장영업부

3230 내장공사부

3400 외장사업부

3410 외장영업부

3430 외장공사부

로 할려면 어떻게 해야 하나요!

/**********************************************/



참고로 제가 bs_level를 체크한 테스트 프로그램입니다!.





procedure TForm1.FormCreate(Sender: TObject);

var i :integer ;

begin

if Query1.active = false then Query1.active := True;



TreeView1.Items.AddFirst(nil, '부서 코드');



i := 0;



while not Query1.eof do

begin

with TreeView1.Items do

begin

if Query1.FieldByName('bs_level').asString = '1' then begin

Add(TreeView1.Selected, Query1.FieldByName('bs_code').asstring + ' '+Query1.FieldByName('bs_name').asstring);

end;

end;

Query1.next;

end;//while

end;//proc



procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);

begin

label1.caption := Node.Text;

end;



procedure TForm1.TreeView1DblClick(Sender: TObject);

begin

with Query2 do

begin

close;

Params[0].asstring := copy(label1.caption,1,4);

open;

first;

while not Query2.Eof do

begin

TreeView1.Items.AddChild(TreeView1.Selected,Query2.FieldByName('bs_code').asstring + ' '+Query2.FieldByName('bs_name').asstring);

Query2.next;

end;



end;

end;



end.



1  COMMENTS
  • Profile
    송영신 1999.09.04 00:28
    최수영 께서 말씀하시기를...

    > 안녕하십니까!

    > 삼우이엠씨 전산실에 근무하는 최수영이라고 합니다!

    >

    > 트리뷰를 사용하여 동적으로 부서코드를 생성하는

    > 예제가 찾아봐도 없더군요...

    > 제가 생각하기엔 많이 쓸것 같은데...

    > 아래이메일 주소로 보내주시면 고맙겠습니다!

    >

    > s_y_choi@hotmail.com

    > 02-3672-7751

    >

    > 텔파이 고수님들의 해결을 부탁드립니다!

    >

    >



    도움이 되실런지 ...

    문의 사항이 있으면 전화 주세요 ...



    procedure TForm1.Button1Click(Sender: TObject);



    var

    MyTreeNode1, MyTreeNode2: TTreeNode;

    begin

    with TreeView1.Items do

    begin

    Clear; { remove any existing nodes }

    MyTreeNode1 := Add(nil, 'RootTreeNode1'); { Add a root node }

    { Add a child node to the node just added }

    AddChild(MyTreeNode1,'ChildNode1');



    {Add another root node}

    MyTreeNode2 := Add(MyTreeNode1, 'RootTreeNode2');

    {Give MyTreeNode2 to a child }

    AddChild(MyTreeNode2,'ChildNode2');



    {Change MyTreeNode2 to ChildNode2 }

    { and add a child node to it}

    MyTreeNode2 := TreeView1.Items[3];

    AddChild(MyTreeNode2,'ChildNode2a');



    {Add another child to ChildNode2, after ChildNode2a }

    Add(MyTreeNode2,'ChildNode2b');



    {add another root node}

    Add(MyTreeNode1, 'RootTreeNode3');

    end;

    end;



    성원건설 정보시스템팀 송영신

    TEL: 02-3404-2156