4

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

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

4

2 回答 2

2

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

如果可能的话,我建议切换到CL_SALV_TREE- 不仅因为它有文档记录 和 SAP 支持,还因为它带有一些非常方便的查询方法。这些方法也被记录在案。例如,您可以使用GET_NODE它通过其 ID 检索节点,然后使用它GET_PARENT来检查所讨论的节点是顶级节点还是具有附加到的父节点。

于 2013-07-19T19:18:09.813 回答
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.
于 2013-08-05T12:35:22.433 回答