PDA

Ver la Versión Completa : un click en alv


chelisse
30/10/07, 14:30:37
¿Se puede lanzar un evento con un solo click sobre una linea de un alv, en lugar de dos click?

Jacampos
30/10/07, 14:54:15
Si, se puede. Utiliza Hot_spot_click.

CLASS lcl_event_handler DEFINITION DEFERRED.
DATA: gr_event_handler TYPE REF TO lcl_event_handler.


SET HANDLER gr_event_handler->handle_hotspot_click FOR gr_grid .


CLASS lcl_event_handler DEFINITION .
PUBLIC SECTION .
METHODS:
*--Hotspot click control
handle_hotspot_click
FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING e_row_id e_column_id es_row_no .
*--Double-click control
METHODS:
handle_double_click_app
FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column es_row_no .
PRIVATE SECTION.
ENDCLASS. "lcl_event_handler DEFINITION

*--Handle Hotspot Click
METHOD handle_hotspot_click .
PERFORM handle_hotspot_click USING e_row_id e_column_id es_row_no .
ENDMETHOD . "handle_hotspot_click






Saludos.

chelisse
30/10/07, 15:40:07
Jacampos, muchas gracias, había visto algo de esto pero no estaba seguro, ahora sí

chelisse
30/10/07, 15:43:00
Jacampos, muchas gracias, había visto algo de esto pero no estaba seguro, ahora sí.

Por si a alguien le sirve decir que para el evento HOTSPOT, hay que tener marcado en la definición del catálogo el campo que queramos que reaccione a un solo click (l_fieldcat-hotspot = 'X'.)

cheloc
20/11/07, 11:08:18
hola Jacampos,

he hecho lo que dices en tu mensaje, pero no hay manera que el programa me responda cuando hago click sobre un check-box dentro de un ALV. Qué es lo que me falta?

Jacampos
21/11/07, 14:36:24
Hola Cheloc:

Normalemente cuando incluyo checkbox en mis ALV los eventos asociados a el/los registros marcados los llamo desde un Buttom de la Toolbar. Es HOTSPOT creo que no funciona sobre un checkbox.

Creo que lo que puedes hacer es crearte un boton en la Toolbar y ahi haces la acción que quieras con el/los registros marcados.

Saludos.

Loreluv
30/09/11, 17:30:18
También tengo problemas con la implementacion de hotspot_click... simplemente no veo efecto alguno. Le utilizo debido a que deseo ahorrarme el Enter o Doble clic sobre el registro alv, para que sea disparado el handle_change_finished... el cual me funciona perfectamente sólo si doy enter... alguien puede apoyarme para brincarme el enter??? de antemano gracias:o :o

X200
30/09/11, 20:37:39
Loreluv, si lo que entendi es correcto, tú problema es que estas haciendo un Handler al metodo incorrecto. Deberias handlear el evento correspondiente
al hotspot click, es por eso que no vez resultado en el mismo.

Recuerda tambien tener bien en cuenta los usos de cada evento, para ver si realmente sirve en la implementacion que buscas hacer. Si no conoces todos los eventos busca alguna documentación correspondiente al tipo de ALV que usas y seguramente podras conocer en detalle su uso y su implementación.

Saludos