|
이쁜이 님이 쓰신 글 :
: TreeView를 사용하는데 좀 어려운 난관에 부딪쳐서 글을 씁니다.
: DB에 저장되어 있는 Data의 Level에 따라 Menu No에 해당되는 내용이 Sub Item으로 TreeView에 나오게 하려는데 잘 안되네요.
: 예를 들어.
: DB의 Data가
: ----------------------------------- + 10 Action
: Menu No | Menu Title | Level |- Sixty Seconds
: ----------------------------------- |- Metrix
: 10 | Action | 0 + 20 Comedy
: 20 | Comedy | 0 Treeview 에서는 |- Dum & Dummer
: 30 | Drama | 0 =============> - 30 Drama
: 10 | Sixty Seconds | 1
: 10 | Metrix | 1
: 20 | Dum & Dummer | 1
: -----------------------------------
: 고수님들 부탁합니다.
: 참고로
: Text = Query->FieldByName("Menu_Title")->AsString;
: TreeView1->Items->Add(TreeView1->Selected, Text);
: 이렇게 기술했더니 Level에 관계없이 모두 TreeView의 첫레벨에 나타나요. (당연하겠지만)
:
우선 님께서
TreeView1->Items->Add(TreeView1->Selected, Text);
이렇게 하면 자식node가 생기지 않거든요 영화 장르가 부모node라면 영화제목이 자식node라고 할수 있겠죠.
그렇다면 자식node를 만들어야 합니다.
TreeView1->Items->Add(TreeView1->Selected, "Action");
TTreeNode *MyTreeNode1 = TreeView1->Items->Item[0];
TreeView1->Items->AddChild(MyTreeNode1,"Sixty Seconds");
이렇게 하면 자식node가 생깁니다.
자세히 말하자면 TreeView1->Items->Add(text) 이렇게 하면 님께서 말한데로 단 첫번째 레벨에 해당하는 부모노드만 생기게 됩니다. 그래서, 자식 노드를 만들려면
TTreeNode *MyTreeNode1 = TreeView1->Items->Item[0];
이렇게 만들어질 자식노드의 부모노드를 생성하고나서,
TreeView1->Items->AddChild(MyTreeNode1,"Sixty Seconds");
이렇게 하면 자식노드가 생기게 됩니다.
그럼 즐푸하세요
|