ABAP - ABAP tree control

 
Vista:

ABAP tree control

Publicado por Abel (1 intervención) el 17/02/2006 15:11:12
Hola a todos,
Quiero visualizar una lista utilizando el control Tree de ABAP. Estoy usando las funciones standard de SAP (no estoy utilizando ABAP Objects). Quiero saber como puedo interceptar un evento, por ejemplo un doble click, dentro del arbol.
Gracias de antemano
Abel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

ABAP tree control

Publicado por Alejandro (226 intervenciones) el 12/04/2023 00:35:44
Hola Abel.

Para interceptar eventos dentro de un control Tree en ABAP, puedes utilizar la función estándar 'SET HANDLER' en combinación con una función de manejo de eventos personalizada.

Aquí te dejo un ejemplo de cómo puedes hacerlo:

1. Define una función de manejo de eventos personalizada que será llamada cuando se produzca un evento. En este caso, vamos a usar el evento 'DOUBLE_CLICK':

1
2
3
4
5
6
7
8
9
10
11
FORM handle_double_click.
  DATA: node TYPE REF TO cl_gui_column_tree_node.
 
  " Obtenemos el nodo en el que se hizo doble click "
  node = sender->get_node( ).
 
  " Realizamos acciones en función del nodo en el que se hizo doble click "
  IF node IS BOUND.
    " Realizamos acciones aquí "
  ENDIF.
ENDFORM.

2. Asocia la función de manejo de eventos personalizada al evento correspondiente del control Tree utilizando la función 'SET HANDLER':

1
2
3
4
5
6
7
8
9
10
11
DATA: tree_control TYPE REF TO cl_gui_column_tree.
 
" Crea e inicializa el control Tree "
CREATE OBJECT tree_control
  EXPORTING
    i_structure_name = 'ZMY_STRUCTURE'
    i_default_node    = 'ROOT'
    i_selection_mode  = 'A'.
 
" Asocia la función de manejo de eventos personalizada al evento DOUBLE_CLICK "
SET HANDLER handle_double_click FOR tree_control->column_tree.

Con esto, cuando el usuario haga doble click en un nodo del árbol, se llamará a la función de manejo de eventos personalizada y podrás realizar las acciones que desees en función del nodo en el que se hizo doble click.

Espero que esto te sea de ayuda. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar