Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 10473

Double click not working in CL_SALV

$
0
0

Hello Gurus,

 

This is my code, where when i double click on column it is not going into next display list, and how to add button on that column.

Please help me out..

 

 

 

TYPES : BEGIN OF TY_FIRST,

          A(5) TYPE N,

         END OF TY_FIRST,

 

         BEGIN OF TY_SECOND,

          A(5) TYPE N,

          AN(5) TYPE N,

         END OF TY_SECOND,

 

         BEGIN OF TY_THIRD,

           AN(5) TYPE N,

           ANN(5) TYPE N,

         END OF TY_THIRD.

 

     DATA : T_FIRST TYPE TABLE OF TY_FIRST,

            T_SECOND TYPE TABLE OF TY_SECOND,

            T_THIRD TYPE TABLE OF TY_THIRD,

            W_FIRST TYPE TY_FIRST,

            W_SECOND TYPE TY_SECOND,

            W_THIRD TYPE TY_THIRD.

 

     DATA : gr_table TYPE REF TO cl_salv_table"Salv Class

        gr_functions TYPE REF TO cl_salv_functions,

       gr_display TYPE REF TO cl_salv_display_settings,

       color TYPE lvc_s_colo,

       gr_columns TYPE REF TO cl_salv_columns_table,

       gr_column TYPE REF TO cl_salv_column_table,

       gr_sorts TYPE REF TO cl_salv_sorts,

       gr_filter TYPE REF TO cl_salv_filters,

       gr_layout TYPE REF TO cl_salv_layout,

       GR_EVENT TYPE REF TO cl_salv_events_table.

 

 

     W_FIRST-A = '1'.

        APPEND W_FIRST TO T_FIRST.

     W_FIRST-A = '2'.

     APPEND W_FIRST TO T_FIRST.

     W_FIRST-A = '3'.

     APPEND W_FIRST TO T_FIRST.

 

     W_SECOND-A = '1'.

     W_SECOND-AN = '11'.

     APPEND W_SECOND TO T_SECOND.

 

      W_SECOND-A = '1'.

     W_SECOND-AN = '12'.

     APPEND W_SECOND TO T_SECOND.

 

      W_SECOND-A = '1'.

     W_SECOND-AN = '13'.

     APPEND W_SECOND TO T_SECOND.

 

     W_SECOND-A = '2'.

     W_SECOND-AN = '21'.

     APPEND W_SECOND TO T_SECOND.

 

      W_SECOND-A = '3'.

     W_SECOND-AN = '32'.

     APPEND W_SECOND TO T_SECOND.

 

      W_SECOND-A = '3'.

     W_SECOND-AN = '33'.

     APPEND W_SECOND TO T_SECOND.

 

      W_THIRD-AN = '11'.

     W_THIRD-ANN = '111'.

     APPEND W_THIRD TO T_THIRD.

 

     W_THIRD-AN = '11'.

     W_THIRD-ANN = '112'.

     APPEND W_THIRD TO T_THIRD.

 

     W_THIRD-AN = '21'.

     W_THIRD-ANN = '211'.

     APPEND W_THIRD TO T_THIRD.

 

     W_THIRD-AN = '31'.

     W_THIRD-ANN = '312'.

     APPEND W_THIRD TO T_THIRD.

 

*&---------------------------------------------------------------------*

*&        CL_EVENT Class Declaration

*&---------------------------------------------------------------------*

CLASS CL_EVENT DEFINITION.

   PUBLIC SECTION.

   METHODS      : first_display.

   CLASS-METHODS on_double_click                 " DOUBLE_CLICK

       FOR EVENT if_salv_events_actions_table~double_click

         OF cl_salv_events_table

           IMPORTING row

                     column.

ENDCLASS.

 

*&---------------------------------------------------------------------*

*&        CL_EVENT Class Implementation

*&---------------------------------------------------------------------*

CLASS CL_EVENT IMPLEMENTATION.

    METHOD first_display.

      PERFORM SUB_DISPLAY..

    ENDMETHOD.

 

    METHOD on_double_click.

    PERFORM SUB_DISPLAY1..

   ENDMETHOD.

 

ENDCLASS.

 

START-OF-SELECTION.

 

DATA : OBJ TYPE REF TO CL_EVENT.

 

CREATE OBJECT OBJ.

   OBJ->first_display( ).

 

 

*&---------------------------------------------------------------------*

*&      Form  SUB_DISPLAY

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

 

FORM SUB_DISPLAY .

 

    TRY.

cl_salv_table=>factory( IMPORTING r_salv_table = gr_table

                         CHANGING t_table = T_FIRST ).

 

  gr_functions = gr_table->get_functions( ).

gr_functions->set_all( abap_true ).

 

gr_display = gr_table->get_display_settings( ).

gr_display->set_striped_pattern( cl_salv_display_settings=>true ).

 

gr_columns = gr_table->get_columns( ).

gr_columns->set_optimize( 'X' ).

gr_column ?= gr_columns->get_column( 'A' ).

GR_column->set_cell_type( if_salv_c_cell_type=>hotspot ).

color-col = '5'.

gr_column->set_color( color ).

 

gr_column ?= gr_columns->get_column( 'A' ).

GR_column->set_cell_type( if_salv_c_cell_type=>hotspot ).

color-col = '2'.

gr_column->set_color( color ).

*

DATA ls_cell_type TYPE LINE OF salv_t_int4_column.

ls_cell_type-columnname = 'A'.

ls_cell_type-value  = cl_salv_column_list=>button.

 

SET HANDLER cl_event=>on_double_click  FOR ALL INSTANCES.

 

gr_table->display( ).

 

       CATCH cx_salv_EXISTING.             " cl_salv_table=>factory()

       WRITE: / 'cx_salv_msg exception'.

       STOP.

 

   CATCH cx_salv_DATA_ERROR.             " cl_salv_table=>factory()

       WRITE: / 'cx_salv_msg exception'.

       STOP.

 

   CATCH cx_salv_msg.             " cl_salv_table=>factory()

       WRITE: / 'cx_salv_msg exception'.

       STOP.

   CATCH cx_salv_not_found.       " cl_salv_columns_table->get_column()

       WRITE: / 'cx_salv_not_found exception'.

       STOP.

   ENDTRY.

 

 

ENDFORM.                    " SUB_DISPLAY

*&---------------------------------------------------------------------*

*&      Form  SUB_DISPLAY1

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

 

FORM SUB_DISPLAY1 .

 

   TRY.

cl_salv_table=>factory( IMPORTING r_salv_table = gr_table

                         CHANGING t_table = T_SECOND ).

 

GR_TABLE->DISPLAY( ).

CATCH cx_salv_msg.             " cl_salv_table=>factory()

       WRITE: / 'cx_salv_msg exception'.

       STOP.

     ENDTRY.

 

ENDFORM.


Viewing all articles
Browse latest Browse all 10473

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>