ALV TREE:获得节点级别

时间:2013-07-19 18:48:36

标签: sap abap

我使用cl_gui_alv_tree创建了一个ALV TREE报告,该报告有3个级别。我还在双击节点时实现了一个事件处理程序。

我的问题是,我只想在双击作为根节点的节点时才采取某些操作。事件'node_double_click'给出了node_key,但这是显示的表的索引。我怎么能做到这一点?

2 个答案:

答案 0 :(得分:2)

节点ID不是索引,它是在将节点添加到树时分配给节点的ID。

如果可能,我建议切换到CL_SALV_TREE - 不仅因为它是documented 并且受SAP支持,但也因为它带有一些非常方便的查询方法。这些方法是documented as well。例如,您可以使用GET_NODE按其ID检索节点,然后使用GET_PARENT检查相关节点是否为顶级节点或是否附加了父节点。

答案 1 :(得分:1)

我为自己创建了一个模式,我正在使用它。

        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.