하늘맥 wrote:
> 정상용 wrote:
> > 안녕하세요! 또 궁굼한게 있어서 .... (^[^;; 죄송.
> >
> > 테이블에 저장된 DATA들을 읽어서 트리뷰에 가지고 오고 싶은데 어떻게 하면 되죠!
> > 문제는 SORT 라는 필드에 1, 11, 111, 1111,....
> > 2, 21, 211, 2111....... DATA가 저장되어 있읍니다.
> >
> > 이 DATA를 트리뷰에 --- + 1
> > | |--- + 11
> > | | |--- + 111
> > | | | |--- 1111
> > | | | |--- 1112
> > | | |--- + 112
> > | | |--- 1121
> > | |
> > | |--- + 12
> > |
> > |
> > --- + 2
> > | |--- + 21
> > |
> >
> > 이렇게 나타내고 싶은데요 !
> >
> > SELECT 했서 트리로 넘기니 DATA가 루트에만 붙어서 나오더라구요....
> >
> > 고수님의 한수 부탁하겠읍니다.
> > 델파이 시작한지가 얼마안되서 그러는데.. 상세하게 알켜주심 더할나위 없이
> > 고맙겠읍니다. 그럼 좋은 하루 되세요....
>
>
> 밑에 소스는 사원관리 코드중 트리뷰에 뿌려주는 소스입니다..
>
> 전산실 -- 정민
> -- 정훈
> -- 정안
>
> 총무부 -- 길동
> -- 동길
>
> 이런식으로 나오죠..
>
>
> procedure TSWmainFrm.Btn_refreshClick(Sender: TObject);
> var i,j : integer;
> s_buse,s_buseprior,s_id,s_name,s_busename,s_original : String;
> t_node,t_subnode : TTreeNode;
> begin
>
> IF Dm.UDB.Connected = false then Dm.UDB.Connected := true;
> i := 0;
> gSql := 'SELECT * FROM CPM3SA WHERE FCY = ''SA'' ORDER BY FDEPT,FYYNO ';
> //일단 사원을 부서순으로 정렬해야 겠죠...
> With Dm.Q_main do
> begin
> Close;
> Sql.Clear;
> Sql.Add(gSql);
> Open;
>
> First;
> repeat
> // 가져온 사원을 반복해서 처음 부터 끝까지 반복해서 돌립니다.
> s_buse := FieldByName('FDEPT').AsString;
>
> s_id := FieldByName('FYYNO').AsString;
> s_name := FieldByName('FNAME').AsString;
> s_original := 'SA'+s_buse;
>
> If s_buseprior <> s_buse then
> // 부서 가 바뀌면 트리뷰에 새로운 루트를 하나 부서를 표시해야 겠죠
> begin
> gsql := 'SELECT * FROM TSATPAPF WHERE PACDGB = ''02''' ;
> gsql := gsql + ' And PACODE = ''' + s_original +'''';
>
> With Dm.Q_sub do
> begin
> close;
> Sql.clear;
> Sql.Add(gSql);
> open;
> s_busename := FieldByName('PADESC').AsString;
>
>
> end;
> t_node := Tv_main.Items.Add(nil,s_busename);
> // 여기서 새로운 부서의 트리뷰의 노드를 기억합니다.
>
> t_node.ImageIndex := 0;
> end;
> s_id := s_id + ' ' +s_name;
> t_subnode := Tv_main.Items.AddChild(t_node,s_id );
> // 개개인의 이름과 아이디를 위에 기억한 노드밑에 표시합니다.
>
> t_subnode.ImageIndex := 1;
> // 이것은 트리뷰에 그림을 표시해 주죠...
>
> s_buseprior := FieldByName('FDEPT').AsString;
> // 부서를 기억했다가 다음 레코드의 부서랑 비교해서....
> i := i +1;
> next;
>
> until Eof;
>
> end;
>
>
>
> end;
이번에 졸업작품으로 메신져를 하고 있습니다.
고수님들 위의 소스좀 해석해 주세여
제 DB의 구성은
u_group | u_id | 대충 DB에 이런것들이 있습니다.
---------------- 테이블명은 friend 구여
FF | aaa | 이것을 트리뷰에 표현을
AA | bbb | FF --aaa
FF | ccc | | |ㅡbbb
|
AA --ccc
이런식으로 표현할려구 합니다.
고수님들 제발 많은 도움 부탁드립니다.
위의 소스는 테이블을 두게 쓰는것 같더라구여 테이블은 하나인데....ㅠ,.ㅠ