2009 Sep 10 7:04 AM
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
2009 Sep 10 7:18 AM
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
2009 Sep 10 7:31 AM
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.
2009 Sep 10 7:57 AM
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |