我使用cl_gui_alv_tree创建了一个ALV树报告,它有3个级别。我还为他双击节点时实现了一个事件处理程序。
我的问题是,只有当他双击作为根节点的节点时,我才想采取一些操作。事件'node_double_click‘提供了一个node_key,但这是所显示的表的索引。我怎样才能做到这一点呢?
发布于 2013-07-20 03:18:10
节点ID不是索引,它是在将节点添加到树中时分配给节点的ID。
如果可能的话,我建议改用CL_SALV_TREE --这不仅是因为它是documented并且被SAP所支持,而且还因为它附带了一些非常方便的查询方法。这些方法是documented as well。例如,您可以使用GET_NODE通过节点的ID检索节点,然后使用GET_PARENT检查该节点是顶级节点还是具有它所连接的父节点。
发布于 2013-08-05 20:35:22
我为自己创建了一个模式,我正在使用它。
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.https://stackoverflow.com/questions/17753391
复制相似问题