un click en alv

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • chelisse
    Member
    • jun
    • 40

    #1

    un click en alv

    ¿Se puede lanzar un evento con un solo click sobre una linea de un alv, en lugar de dos click?
  • Jacampos
    Member
    • feb
    • 70

    #2
    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.
    Quiero aprender, ayudando a aprender.

    Comentario

    • chelisse
      Member
      • jun
      • 40

      #3
      Jacampos, muchas gracias, había visto algo de esto pero no estaba seguro, ahora sí

      Comentario

      • chelisse
        Member
        • jun
        • 40

        #4
        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'.)

        Comentario

        • cheloc
          Junior Member
          • abr
          • 2

          #5
          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?

          Comentario

          • Jacampos
            Member
            • feb
            • 70

            #6
            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.
            Quiero aprender, ayudando a aprender.

            Comentario

            • Loreluv
              Junior Member
              • mar
              • 9

              #7
              HOla

              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
              **all you need is love**

              Comentario

              • X200
                Junior Member
                • nov
                • 24

                #8
                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
                -When you have eliminated the impossible, whatever remains, however improbable, must be the truth.-

                Comentario

                Trabajando...