Q&A

  • DB와 트리뷰를 연결하려는데요 궁금한점이 있어요
DB구성도아직 안되어있는데요

제목 / 내용 (트리 제목을 클릭하면 내용이 나오도록)

이렇게 들어가야하는데요

이런경우 트리뷰와 연결하려면 어떻게 코드를 만들어야하나요

그리고 입력기능도 있어야하는데요

입력할때 코드를 계산할수 없으니 자동으로넣어야할것같은데..

어찌해야할지.. 감이 잘안오네요

길을 좀 열어주세요

트리뷰 생각보다 많이 복잡하네요

1  COMMENTS
  • Profile
    김경록 2003.12.05 22:36
    오늘은 시간이 남아서 답변을 좀 하는군여..  *^^*

    트리뷰를 사용하신다니.. 좀 귀찮으시겠군여..
    (사실 골치아픈건 아니구여.. 귀찮져..   ^^;)

    일단은 DB구성을 잘 하셔야 합니다..

    Table의 필드는 상위코드, 자신의코드, 코드명
    이런식으로 구성을 하셔야 하구여..
    최상위 코드(Root)는 특정값을 넣어 주시는게 좋겠져..
    예를들어서,,,  코드는 "10000"  이라는 값을 가진다면,
    이와 다른게, 최상위코드(Root)는 "AAAAA" 이런식으로..
    그런 최상위 트리는 DB에서 최상위코드가 "AAAAA"인것만
    가져오는 겁니다..
    그럼.. 폼이 Show될때, 혹은 Create될때에
    해당 내역을 트리에 뿌려주구여.. (그럼, root 다음 노드만 있겠져?..)
    다은 노드를 "더블클릭 혹은 화살표좌측 또는 + 기호를 클릭했을때"
    해당 하위 노드를 열심히 추가해 주시구여..
    해당 노드를 클릭하면, "최상위노드, 자신의코드"를 트리뷰에서
    읽어서 해당 내용을 DB에서 가져옵니다..
    가져온것을 화면에 뿌려주구여.. 이때는 DBEdit같은걸 써도 되겠져..
    아니면, DBGrid라든가..
    그럼 끝입니다..
    설마, 트리뷰에 노드를 추가하는법은 모르시는게 아니겠져???  ^^;
    트리뷰.selected.Data에 특정값을 저장해 놓을 수 있으니..
    이것도 함께 보시기 바랍니다..
    즉, 트리뷰에는 노드명(혹은 부서명)만 보여주구여..
    Data에는 실제 코드를 넣어 놓는 겁니다..
    해당 노드를 클릭하면, DATA의 내용을 읽어와서...
    DB에 조회를 하구여..
    폼이 닫힐때, 혹은 노드를 제거하기 전에
    DATA를 먼저 전부 메모리 해제 시켜 주시구여..
    폼을 닫든지, 노드를 삭제하든지 해야 합니다..
    왜냐하면, DATA는 Pointer형이기 때문입니다..
    즉, 어떠한 Data Type을 담을 수 있다는 뜻입니다.
    TForm이든지, Record든지, char, array, string, integer등등
    특정 변수들의 메모리 주소를 가진다는 뜻이져..
    물론, 참조할때는 해당 Data type을 가지고 가져와야 합니다..
    이게 끝..
    도움이 되었길 바랍니다..

    ps. Pointer는 델파이 서적이나 다른곳에서 참조하시기 바랍니다..