예전에 제가 작성한 내용 입니다..
====================================================
안녕 하세요.
지금 부터 트리뷰를 가지고 데이터 내용을 표시하는 방법과
데이터 구조를 함께 설명 드립니다.
조금이나마 업무 개발에 도움이 되길 빌며...
그럼 트리뷰 이해부터 설명
[트리뷰이해]
트리뷰는 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 :
게을러 저서 퍼왔습니다.. 하하하
±×¸®°í µ¥ÀÌÅÍ ±¸Á¶ÀÇ Á¤±ÔÈÀÇ ±âº» ³»¿ëÀÔ´Ï´Ù..