Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Cl_GUI_TEXTEDIT--Error Double Click Event

Former Member
0 Likes
833

HI

I have created TEXTEDIT control and Trying to trigeer double Event but iam getting error illegal Event Combination

My code is As follow

**Data Declaration

DATA:EVENT_TYPE(20) TYPE C.

DATA: EVENT_TAB TYPE CNTL_SIMPLE_EVENTS,

EVENT TYPE CNTL_SIMPLE_EVENT.

*DATA HANDLE TYPE REF TO EVENT_HANDLER.

CLASS EVENT_HANDLER DEFINITION.

PUBLIC SECTION.

CLASS-METHODS DCLICK FOR EVENT DBLCLICK OF CL_GUI_TEXTEDIT IMPORTING SENDER.

ENDCLASS. "event_handler DEFINITION

----


  • CLASS event_handler IMPLEMENTATION

----


*

----


CLASS EVENT_HANDLER IMPLEMENTATION.

METHOD:DCLICK.

EVENT_TYPE = 'Double Click'.

ENDMETHOD. "dclick

ENDCLASS.

In PBO

CREATE OBJECT CUST_CON

EXPORTING

CONTAINER_NAME = 'MYCONTAIN'.

CREATE OBJECT MY_EDIT

EXPORTING

PARENT = CUST_CON.

EVENT-EVENTID = CL_GUI_TEXTEDIT=>EVENT_DOUBLE_CLICK.

EVENT-APPL_EVENT = 'X'.

APPEND EVENT TO EVENT_TAB.

CALL METHOD MY_EDIT->SET_REGISTERED_EVENTS

EXPORTING

EVENTS = EVENT_TAB.

SET HANDLER: EVENT_HANDLER=>DCLICK FOR MY_EDIT.

In PaI event

case Ok_code

WHEN 'OTHERS'.

CALL METHOD CL_GUI_CFW=>DISPATCH.

Endcase

HI

I have created TEXTEDIT control and Trying to trigeer double Event but iam getting error illegal Event Combination

My code is As follow

**Data Declaration

DATA:EVENT_TYPE(20) TYPE C.

DATA: EVENT_TAB TYPE CNTL_SIMPLE_EVENTS,

EVENT TYPE CNTL_SIMPLE_EVENT.

*DATA HANDLE TYPE REF TO EVENT_HANDLER.

CLASS EVENT_HANDLER DEFINITION.

PUBLIC SECTION.

CLASS-METHODS DCLICK FOR EVENT DBLCLICK OF CL_GUI_TEXTEDIT IMPORTING SENDER.

ENDCLASS. "event_handler DEFINITION

----


  • CLASS event_handler IMPLEMENTATION

----


*

----


CLASS EVENT_HANDLER IMPLEMENTATION.

METHOD:DCLICK.

EVENT_TYPE = 'Double Click'.

ENDMETHOD. "dclick

ENDCLASS.

In PBO

CREATE OBJECT CUST_CON

EXPORTING

CONTAINER_NAME = 'MYCONTAIN'.

CREATE OBJECT MY_EDIT

EXPORTING

PARENT = CUST_CON.

EVENT-EVENTID = CL_GUI_TEXTEDIT=>EVENT_DOUBLE_CLICK.

EVENT-APPL_EVENT = 'X'.

APPEND EVENT TO EVENT_TAB.

CALL METHOD MY_EDIT->SET_REGISTERED_EVENTS

EXPORTING

EVENTS = EVENT_TAB.

SET HANDLER: EVENT_HANDLER=>DCLICK FOR MY_EDIT.

In PaI event

case Ok_code

WHEN 'OTHERS'.

CALL METHOD CL_GUI_CFW=>DISPATCH.

Endcase

3 REPLIES 3
Read only

daixiong_jiang3
Active Participant
683

Pls try the following code:

Main change includes:

DATA HANDLE TYPE REF TO EVENT_HANDLER.

CREATE OBJECT HANDLE.

SET HANDLER HANDLER->DCLICK FOR MY_EDIT.

DATA: EVENT_TYPE(20) TYPE C.
DATA: EVENT_TAB TYPE CNTL_SIMPLE_EVENTS,
            EVENT          TYPE CNTL_SIMPLE_EVENT.
DATA  HANDLE TYPE REF TO EVENT_HANDLER.

CLASS EVENT_HANDLER DEFINITION.
PUBLIC SECTION.
CLASS-METHODS DCLICK FOR EVENT DBLCLICK OF CL_GUI_TEXTEDIT IMPORTING SENDER.
ENDCLASS. "event_handler DEFINITION

----------------------------------------------------------------------
* CLASS event_handler IMPLEMENTATION
----------------------------------------------------------------------
*
----------------------------------------------------------------------
CLASS EVENT_HANDLER IMPLEMENTATION.
METHOD:DCLICK.
EVENT_TYPE = 'Double Click'.

ENDMETHOD. "dclick
ENDCLASS. 


In PBO

CREATE OBJECT CUST_CON
EXPORTING
CONTAINER_NAME = 'MYCONTAIN'.

CREATE OBJECT MY_EDIT
EXPORTING
PARENT = CUST_CON.

EVENT-EVENTID = CL_GUI_TEXTEDIT=>EVENT_DOUBLE_CLICK.
EVENT-APPL_EVENT = 'X'.
APPEND EVENT TO EVENT_TAB.

CALL METHOD MY_EDIT->SET_REGISTERED_EVENTS
EXPORTING
EVENTS = EVENT_TAB.

CREATE OBJECT  HANDLE.
SET HANDLER HANDLER->DCLICK FOR MY_EDIT.

In PaI event
case Ok_code
WHEN 'OTHERS'.
CALL METHOD CL_GUI_CFW=>DISPATCH.
Endcase

Read only

Former Member
683

use this code:

CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED.  "for event handling
data :       G_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER,
                    G_GRID  TYPE REF TO CL_GUI_ALV_GRID,
CLASS LCL_EVENT_RECEIVER DEFINITION.

  PUBLIC SECTION.
    METHODS: CATCH_DOUBLECLICK
             FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
             IMPORTING
                E_COLUMN
                ES_ROW_NO
                SENDER.

ENDCLASS.                    "lcl_event_receiver DEFINITION

CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.

  METHOD CATCH_DOUBLECLICK.
    DATA: 
          LS_CELLTAB TYPE LVC_S_STYL.
* §B4.Switch the style to dis- or enable a cell for input " use this based on ur reqirement
        IF LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
          LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
        ELSE.
          LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
        ENDIF.
        MODIFY LS_OUTTAB-CELLTAB FROM LS_CELLTAB.
   CALL METHOD SENDER->REFRESH_TABLE_DISPLAY.

  ENDMETHOD.                    "catch_doubleclick

ENDCLASS.

" now in PROCESS BEFORE OUTPUT.
" after SET_TABLE_FOR_FIRST_DISPLAY
  CREATE OBJECT G_EVENT_RECEIVER.
  SET HANDLER G_EVENT_RECEIVER->CATCH_DOUBLECLICK FOR G_GRID.

* Set editable cells to ready for input initially
  CALL METHOD G_GRID->SET_READY_FOR_INPUT
    EXPORTING
      I_READY_FOR_INPUT = 1.

Read only

Former Member
0 Likes
683

resolved- Mistake in Case Statement