cl_gui_alv_tree를 사용하여 3 단계로 구성된 ALV TREE 보고서를 만들었습니다. 또한 노드를 두 번 클릭 할 때 이벤트 핸들러를 구현하고 있습니다.ALV TREE : 노드 레벨 얻기
내 문제는 그가 루트 노드 인 노드를 두 번 클릭 할 때만 일부 작업을 수행하려고합니다. 'node_double_click'이벤트는 node_key를 표시하지만 표시되는 테이블의 색인입니다. 내가 어떻게 이걸 얻을 수 있니?
cl_gui_alv_tree를 사용하여 3 단계로 구성된 ALV TREE 보고서를 만들었습니다. 또한 노드를 두 번 클릭 할 때 이벤트 핸들러를 구현하고 있습니다.ALV TREE : 노드 레벨 얻기
내 문제는 그가 루트 노드 인 노드를 두 번 클릭 할 때만 일부 작업을 수행하려고합니다. 'node_double_click'이벤트는 node_key를 표시하지만 표시되는 테이블의 색인입니다. 내가 어떻게 이걸 얻을 수 있니?
노드 ID는 색인이 아니며 트리에 노드를 추가 할 때 노드에 할당 한 ID입니다.
documented 이며 SAP에서 지원되기 때문에 가능할뿐만 아니라 매우 편리한 일부 쿼리 방법이 포함되어 있기 때문에 가능하면 CL_SALV_TREE
으로 전환하는 것이 좋습니다. 이 방법은 documented as well입니다. 예를 들어, GET_NODE
을 사용하여 ID로 노드를 검색 한 다음 GET_PARENT
을 사용하여 문제의 노드가 최상위 노드인지 또는 노드가 연결된 노드인지 확인할 수 있습니다.
나는 내가 사용하고있는 자신을 위해 패턴을 만들었습니다.
lv_parent1 = node_key.
while lv_parent1 ne go_Main_tree->C_VIRTUAL_ROOT_NODE.
CALL METHOD go_main_tree->get_parent
EXPORTING
i_node_key = lv_parent1
IMPORTING
e_parent_node_key = lv_parent1.
lv_hierlevel = lv_hierlevel + 1 .
ENDWHILE.
if lv_hierlevel > 2.
“ do what You want to do
endif.