ALV_TREE 스탠다드 데모 프로그램 'BCALV_TREE_DEMO'를 보면,
FORM add_carrid_line USING ps_sflight TYPE sflight
p_relat_key TYPE lvc_nkey
CHANGING p_node_key TYPE lvc_nkey.
DATA: l_node_text TYPE lvc_value,
ls_sflight TYPE sflight.
* set item-layout
DATA: lt_item_layout TYPE lvc_t_layi,
ls_item_layout TYPE lvc_s_layi.
ls_item_layout-t_image = '@3P@'.
ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
ls_item_layout-style =
cl_gui_column_tree=>style_intensifd_critical.
APPEND ls_item_layout TO lt_item_layout.
* add node
l_node_text = ps_sflight-carrid.
DATA: ls_node TYPE lvc_s_layn.
ls_node-n_image = space.
ls_node-exp_image = space.
CALL METHOD tree1->add_node
EXPORTING
i_relat_node_key = p_relat_key
i_relationship = cl_gui_column_tree=>relat_last_child " 궁금
i_node_text = l_node_text
is_outtab_line = ls_sflight
is_node_layout = ls_node " 궁금
it_item_layout = lt_item_layout
IMPORTING
e_new_node_key = p_node_key.
ENDFORM. " add_carrid_line
add_node 메소드에서 exporting값으로 넘겨 주는 파라메터 중
나머지는 이해하겠는데 붉은색으로 표시한
i_relationship, is_node_layout 한 용도가 궁금합니다.
조언 부탁드리겠습니다.
댓글 5
-
피크민
2008.06.17 03:12
-
activeman
2008.06.17 18:09
ls_node 는 노드의 특성을 나타냅니다.. 트리에서 보시면 노드의 형태가 폴더나 리프(leaf)냐 등을 설정해 주고
노드의 아이콘등을 설정할 수 있습니다. 그리고 트리가 펼쳐진 상태로 보이게 할거냐 접힌상태로 할거냐 등을
설정해 주는 구조체입니다... LVC_S_LAYN의 요소를 한번 보시기 바랍니다.
즐밥하세요
-
아밥맨
2008.06.17 20:23
두분 답변 감사드립니다.
그런데 노드를 무조건 마지막 위치로 보낸다는게 어떤의미인지 정확히 와닿지가 않습니다..
-
activeman
2008.06.17 22:53
노드를 무조건 마지막 위치로 보낸다는 말을 노드의 위치를 마지막으로 보낸다는 말씀입니다.
아래의 예를 보시면
회사
+ 영업팀
- 영업1팀
- 영업2팀
+ 생산팀
- 생산1팀
- 생산2팀
의 노드를 가진 트리를 구성했습니다.. 노드는 기본적으로 소스코드를 작성하는 순서로 노드의 위치가 결정됩니다.
여기서 영업팀을 생산팀 밑에 존재하게 할때 relat_last_child 속성을 사용하게 됩니다.(최상위로 보낼때는 relate_first_child를 사용합니다.
즐밥하세요..
-
아밥맨
2008.06.17 23:18
아 그런 의미였군요.
이제야 정확히 와닿네요^^
activeman님 감사합니다.
i_relationship = cl_gui_column_tree=>relat_last_child 노드를 무조건 마지막 위치로 보낸다는것으로 알고있습니다.