VB TreeView °­ÁÂ...

   Á¶È¸ 15829   Ãßõ 5    

예전에 제가 작성한 내용 입니다..

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

안녕 하세요.
지금 부터 트리뷰를 가지고 데이터 내용을 표시하는 방법과
데이터 구조를 함께 설명 드립니다.
조금이나마 업무 개발에 도움이 되길 빌며...


그럼 트리뷰 이해부터 설명

[트리뷰이해]
  트리뷰는 node key 를 가지고 생성 됩니다.
  key 값만 틀리면 얼마 든지 나열 시킬수 있지요.


[트리뷰 생성 규칙]
  처음 트리뷰를 만들때는 Root 개념입니다.
       add ( , ,"root","나다",img1)
  이러면 첫번째 트리뷰가 생깁니다.
  그럼 같은 위치에 또다른 root 만들기
       add ( , ,"root1","나다",img1)
  이러면 두번째 root트리뷰가 생깁니다.
  그러나 보이는 캡션은 같죠.
  두개의 트리뷰는 key 값이틀립니다.


 다음은 칠드 트리뷰 만들기 입니다.
  두개의 root 트리뷰가 있지요. 그아래에 칠드 트리뷰를 만들 겠습니다.
       add ("root",tvwChild,"aa","나다1",img2)
  이러면 첫번째 루트 트리뷰에 칠드 트리뷰가 생깁니다.
       add ("aa",tvwChild,"ab",나다2",img3)
  이러면 세번째 트리뷰가 생깁니다.
  이런 식으로 계속가면 엄천 만들수 가있겠죠.


* 주의 : 같은 키값은 한개 이상 안들어 갑니다.


그럼 콤마 마다 설명을 붙입니다.
      aa (상위 트리뷰 키값,속성값,만들 키값,캡션,이미지 이름)
    상위 트리뷰 키값이 널이면 루트로 인식합니다. 당연히 속성값도 널입니다.
    이미지 이름은 ImgList 를 사용 합면 됩니다.
간단한 예입니다.

   Set nodx = TreeView.Nodes.Add(, , "r", "My Home", "myhome")  "===== root 메뉴
       Set nodx = TreeView.Nodes.Add("r", tvwChild, Kchk1, named, Kchk1)
           Set nodx = TreeView.Nodes.Add(Kchk1, tvwChild, Kchk2, named, Kchk2)
               Set nodx = TreeView.Nodes.Add(Kchk2, tvwChild, Kchk3, named, Kchk3)
                   Set nodx = TreeView.Nodes.Add(Kchk3, tvwChild, Kchk4, named, Kchk4)

키값은 변수로 지정 했습니다.
다섯개의 트리뷰를 만들었습니다.
그럼 여기서 변수에 들어갈 내용이 데이터코드라고 생각하면 답이 나옵니다.

그럼 데이터 형식을 어떻게 정의를 하는야 하면(규칙이 있어야됩니다.)

필드 : 코드  명칭

코드 형식만 잡으면 어떤 구조로도 트리뷰를 만들수 있습니다.
그럼 예를 들며 이해가 쉽게 갈걸로 생각 하며
예)

코드       명칭
A        가족
AA       친가
AA100    이름
AA110    나이
AA120    생일
AA130    연락처
AB       외가
AB100    이름
AB120    나이
AB130    생일
AB140    연락처
B        친구
BA       마을친구
BA100    이름
BA110    연락처
BB       학교친구
BBA      초등학교친구
BBA100   이름
BBA110   연락처
BBB      중학교친구
BBB100   이름
BBB110   연락처
BBC      고등학교친구
BBC100   이름
BBC110   연락처
BBD      대학교친구
BBD100   이름
BBD110   연락처
BBE      사회친구
BBE100   이름
BBE110   연락처
BC       회사직원
BC100    부서
BC110    이름
BC120    연락처
C        아끼는물건
D        취미
E        약속
G
GA
GAA
GAAA
GAAAA
GAAAAA
GAAAAA100
GAAAAA110
GAAAAB
GAAAAB100
GAAAAB110
H
I
J
그럼 인용들을 트리뷰에 접목을 시킬려면

IF LEN(코드) = 1 THEN
   Set nodx = TreeView.Nodes.Add(, , r, "MY Home", "myhome")  "===== root 메뉴
ELSEIF LEN(코드) = 2 THEN
       Set nodx = TreeView.Nodes.Add(r, tvwChild, Kchk1, named, Kchk1)
ELSEIF LEN(코드) = 3 THEN
           Set nodx = TreeView.Nodes.Add(Kchk1, tvwChild, Kchk2, named, Kchk2)
ELSEIF LEN(코드) = 4 THEN
               Set nodx = TreeView.Nodes.Add(Kchk2, tvwChild, Kchk3, named, Kchk3)
ELSEIF LEN(코드) = 5 THEN
                   Set nodx = TreeView.Nodes.Add(Kchk3, tvwChild, Kchk4, named, Kchk4)
.
.
.
.
END IF
이런 식으로 코딩을 하면 무한대?
코드 길이만큼의 트리뷰가 나옵니다.
10개면 하위 10개 까지나옵니다.
물론 코딩도 조금 길어 지겠지요.
여기 소스에서 몇가지까 빠져 있거든요.
어떻게 부모노드 밑으로 찾아서 넣을 것인가.
여러분들의 숙제 입니다.
저는 사용 하고 있거든요.
다 가르쳐 주면 재미가 없잖아요.


그럼 다들 즐프요... 하하하


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

PS :

게을러 저서 퍼왔습니다.. 하하하

¹«¾Æ 2015-06
¾Æ¾Æ. »ðÈ­°¡ ÇÊ¿äÇÕ´Ï´Ù. ^^
     
°­Á¿¡ º¸½Ã¸é µ¥ÀÌÅÍ ±¸Á¶¸¦ Àß º¸½Ã¸é Æ®¸®ºä ÀÇ ³»¿ëÀ» ¾Ë¼ö ÀÖ½À´Ï´Ù.
±×¸®°í µ¥ÀÌÅÍ ±¸Á¶ÀÇ Á¤±ÔÈ­ÀÇ ±âº» ³»¿ëÀÔ´Ï´Ù..


Á¦¸ñPage 22/28
2015-08   53592   ÁÒ¯
2015-08   23068   ±èÀºÈ£
2015-08   36777   witbox
2015-08   13141   QS¿ÕÅëÅ°¼Õ¡¦
2015-08   13781   QS¿ÕÅëÅ°¼Õ¡¦
2015-08   12450   QS¿ÕÅëÅ°¼Õ¡¦
2015-07   13472   ȸ¿øK
2015-07   13672   ÁÖ¿µÁø¿µ¾Æºü
2015-07   15178   ºÐ³ëÀÇ´Ù¿îÈú
2015-07   18340   nightly
2015-06   15830   ȲÁø¿ì
2015-06   26402   stone92±è°æ¹Î
2015-06   15971   QS¿ÕÅëÅ°¼Õ¡¦
2015-05   35062   ÁÒ¯
2015-05   13963   ±èȲÁß
2015-05   16117   ȲÁø¿ì
2015-05   18033   ¹Ú¹®Çü
2015-05   16458   stone92±è°æ¹Î
2015-05   18449   ÁÒ¯
2015-04   33332   HEUo±è¿ë¹Î