ABAP - column_ tree

 
Vista:

column_ tree

Publicado por xuxua (4 intervenciones) el 22/02/2006 10:07:05
Hola,
Estoy intentando crear un arbol de la clase cl_gui_column_tree.

Primero creo el contenedor docking
Luego defino la hierarchy header
Y por último creo el objeto arbol, he cogido la estructura del patrón y me pide, activo item_selection con 'X'
Y me dice que el parametro ITEM_SELECTION no existe.

¿Alguien me puede ayudar?
Muchas gracias

XUXUA
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

column_ tree

Publicado por Alejandro (226 intervenciones) el 12/04/2023 00:38:52
Hola XUXUA.

La opción de selección de elementos ("item selection") no está disponible en la clase 'CL_GUI_COLUMN_TREE' de forma predeterminada, por lo que no puedes usar el parámetro 'ITEM_SELECTION'.

Sin embargo, hay una forma de implementar la selección de elementos por ti mismo. Puedes utilizar el evento 'USER_COMMAND' y comprobar si el usuario ha seleccionado un elemento específico del árbol.

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

1. Define la función de manejo de eventos 'USER_COMMAND':

1
2
3
4
5
6
7
8
9
FORM user_command USING r_ucomm LIKE sy-ucomm
                       rs_selfield TYPE slis_selfield.
  CASE rs_selfield-fieldname.
    WHEN 'MY_COLUMN_TREE'.
      IF rs_selfield-tabindex > 0.
        " Aquí puedes realizar acciones en función del elemento seleccionado "
      ENDIF.
  ENDCASE.
ENDFORM.

2. Crea el objeto de árbol y registra la función de manejo de eventos 'USER_COMMAND' para el contenedor de docking:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DATA: lo_column_tree TYPE REF TO cl_gui_column_tree.
DATA: lo_docking TYPE REF TO cl_gui_docking_container.
 
" Crea el objeto de contenedor de docking "
CREATE OBJECT lo_docking
  EXPORTING
    repid = sy-repid.
 
" Crea el objeto de árbol "
CREATE OBJECT lo_column_tree
  EXPORTING
    i_parent = lo_docking.
 
" Define la estructura del árbol y activa la opción de encabezado de jerarquía "
" Aquí debes configurar la estructura del árbol de acuerdo a tus necesidades "
CALL METHOD lo_column_tree->set_structure
  EXPORTING
    is_hierarchy_header = VALUE #( header = 'My Tree Header' ).
 
" Registra la función de manejo de eventos USER_COMMAND para el contenedor de docking "
SET HANDLER user_command FOR lo_docking. "

Con esto, cuando el usuario seleccione un elemento del árbol, se llamará a la función de manejo de eventos 'USER_COMMAND' y podrás realizar las acciones que desees en función del elemento seleccionado.

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