Q&A

  • 트리뷰의 자식노드 생성어케 합니까 ㅠㅠ
할루 고수님들 ㅠㅠ

아래소슨 지가 트리뷰의 노드와 자식노드를 디비의 쿼리한 결과로 맹근것임당...^^;;

아래의 소슨 노드까지 성공하구 자식노드에서 실패한것임당 ㅠㅠ

자식노드에서 이상하게 나옴당 아래의 소스를 돌리면 treeview1.items[0]의 자식노드들이 계속 증가 합니당 ㅠㅠ 그러니까



아래의 소스를 돌리면



1┐

a┐

b┐

c





2



3

이렇게 나옴당 ㅠㅠ 어케 이런일이

위의 a는 1번의 자식노드이쥐만 ㅠㅠ

b는 2번의 자식노드.. c는 3의 자식노드임당..ㅠㅠ

구런데 어케 아래소슬돌리면 위와 같이 나오나엽 ㅠㅠ

이유를 알곳싶습니당 ㅠㅠ

구람 이만 ㅠㅠ

procedure TForm1.Button1Click(Sender: TObject);

var

node:Ttreenode;

qry1,qry2 : Tquery;

i : integer;

a,b:string;

begin

qry1 := Tquery.Create(self);

qry1.DatabaseName := 'proc';

qry2 := Tquery.Create(self);

qry2.DatabaseName := 'proc';

i:=0;

with qry1 do

begin

close;

sql.Clear;

sql.Add('select distinct 불량부위 from 불량명세') ;

sql.add('where 제품명 =:je');

parambyname('je').AsString := 'hcd';

open;

while not eof do

begin

a:=fieldbyname('불량부위').AsString;

with treeview1.Items do

begin

add(treeview1.Selected,a);

node := treeview1.Items[i];

with qry2 do

begin

close;

sql.Clear;

sql.Add('select distinct 불량내역 from 불량명세') ;

sql.add('where 불량부위 ='''+a+'''');

open;

while not eof do

begin

b := fieldbyname('불량내역').AsString;

treeview1.Items.AddChild(node,b);

next;

end;

end;

next;

i:=i+1;

end;

end;

end;







end;

2  COMMENTS
  • Profile
    승추니 2001.01.10 19:21
    사발우성 wrote:

    > 할루 고수님들 ㅠㅠ

    > 아래소슨 지가 트리뷰의 노드와 자식노드를 디비의 쿼리한 결과로 맹근것임당...^^;;

    > 아래의 소슨 노드까지 성공하구 자식노드에서 실패한것임당 ㅠㅠ

    > 자식노드에서 이상하게 나옴당 아래의 소스를 돌리면 treeview1.items[0]의 자식노드들이 계속 증가 합니당 ㅠㅠ 그러니까

    >

    > 아래의 소스를 돌리면

    >

    > 1┐

    > a┐

    > b┐

    > c

    >

    >

    > 2

    >

    > 3

    > 이렇게 나옴당 ㅠㅠ 어케 이런일이

    > 위의 a는 1번의 자식노드이쥐만 ㅠㅠ

    > b는 2번의 자식노드.. c는 3의 자식노드임당..ㅠㅠ

    > 구런데 어케 아래소슬돌리면 위와 같이 나오나엽 ㅠㅠ

    > 이유를 알곳싶습니당 ㅠㅠ

    > 구람 이만 ㅠㅠ

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > node:Ttreenode;

    > qry1,qry2 : Tquery;

    > i : integer;

    > a,b:string;

    > begin

    > qry1 := Tquery.Create(self);

    > qry1.DatabaseName := 'proc';

    > qry2 := Tquery.Create(self);

    > qry2.DatabaseName := 'proc';

    > i:=0;

    > with qry1 do

    > begin

    > close;

    > sql.Clear;

    > sql.Add('select distinct 불량부위 from 불량명세') ;

    > sql.add('where 제품명 =:je');

    > parambyname('je').AsString := 'hcd';

    > open;

    > while not eof do

    > begin

    > a:=fieldbyname('불량부위').AsString;

    > with treeview1.Items do

    > begin

    > add(treeview1.Selected,a);

    > node := treeview1.Items[i];

    > with qry2 do

    > begin

    > close;

    > sql.Clear;

    > sql.Add('select distinct 불량내역 from 불량명세') ;

    > sql.add('where 불량부위 ='''+a+'''');

    > open;

    > while not eof do

    > begin

    > b := fieldbyname('불량내역').AsString;

    > treeview1.Items.AddChild(node,b);

    > next;

    > end;

    > end;

    > next;

    > i:=i+1;

    > end;

    > end;

    > end;

    >

    >

    >

    > end;







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





    위 소스에서



    add(treeview1.Selected,a);

    node := treeview1.Items[i];



    이부분 이쪄? 이걸 다음과 같이 바꿉니다.



    node:= add(treeview1.Selected, a);

    =================================



    그럼 즐푸하세요..^^"







  • Profile
    사발우성 2001.01.10 20:22
    ^^ 감솨 감솨

    에거 그부분땜시 안돼는거였군여... ^^;;

    어제 첨해본거라 어케 사용하는건지 몰랐는디...^^;;답변정말루 감솨 함당...^^;;

    그럼 새해 복마니 받으시와여 ^^;;