ALV程序checkbox全选及取消全选
*&---------------------------------------------------------------------*
*& Report ZCTEST15
*&
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
REPORT ZCTEST15 NO STANDARD PAGE HEADING.
TYPE-POOLS SLIS.
DEFINE MAC_FIELD.
CLEAR IW_FIELDCAT.
IW_FIELDCAT-COL_POS = &1.
IW_FIELDCAT-FIELDNAME = &2.
IW_FIELDCAT-SELTEXT_L = &3.
IW_FIELDCAT-INTLEN = &4.
IW_FIELDCAT-CHECKBOX = &5.
IW_FIELDCAT-EDIT = &6.
APPEND IW_FIELDCAT TO IT_FIELDCAT.
END-OF-DEFINITION.
TYPES:
 BEGIN OF TY_DATA,
 CHK TYPE C,
 PARA1 TYPE CHAR10,
 PARA2 TYPE CHAR10,
 END OF TY_DATA.
DATA:
 IT_DATA TYPE TABLE OF TY_DATA,
 IW_DATA TYPE TY_DATA,
 IT_EXCLUDE TYPE UI_FUNCTIONS,
 IW_EXCLUDE TYPE UI_FUNC,
 IW_LAYOUT TYPE SLIS_LAYOUT_ALV,
 IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
 IW_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
 DATA:
 W_REPID TYPE SY-REPID VALUE SY-REPID,
 it_ucomm TYPE TABLE OF sy-ucomm,
 LIT_EXTAB TYPE SLIS_T_EXTAB.
 PARAMETERS P TYPE C.
 INITIALIZATION.
MAC_FIELD : '1' 'CHK' 'sel' '1' 'X' 'X',
'2' 'PARA1' 'para1' '10' SPACE SPACE,
'3' 'PARA2' 'para2' '10' SPACE SPACE.
IW_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
AT SELECTION-SCREEN OUTPUT.
* IW_LAYOUT-EDIT = 'X'.
*CUSTOMISING THE TOOLBARS OF THE SELECTION SCREEN
 *WITH F8 BUTTON DISABLED
 APPEND : 'PRIN' TO it_ucomm,
 'SPOS' TO it_ucomm,
 'ONLI' TO it_ucomm.
CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
 EXPORTING
 p_status = sy-pfkey
 TABLES
 p_exclude = it_ucomm.
START-OF-SELECTION.
DO 10 TIMES.
CLEAR IW_DATA.
IW_DATA-PARA1 = SY-INDEX.
IW_DATA-PARA2 = SY-INDEX * SY-INDEX.
APPEND IW_DATA TO IT_DATA.
ENDDO.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING
 IS_LAYOUT = IW_LAYOUT
 IT_FIELDCAT = IT_FIELDCAT
 I_CALLBACK_PROGRAM = W_REPID
 I_CALLBACK_PF_STATUS_SET = 'F_STATUS'
 I_CALLBACK_USER_COMMAND = 'FRM_USER_COMMAND'
 TABLES
 T_OUTTAB = IT_DATA
 EXCEPTIONS
 PROGRAM_ERROR = 1
 OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*&---------------------------------------------------------------------*
 *& Form F_STATUS
 *&---------------------------------------------------------------------*
 * text
 *----------------------------------------------------------------------*
 FORM F_STATUS USING LIT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'STU_100' EXCLUDING '&AVE'.
ENDFORM. " F_STATUS
*&---------------------------------------------------------------------*
 *& Form FRM_USER_COMMAND
 *&---------------------------------------------------------------------*
 * text
 *----------------------------------------------------------------------*
 * -->UCOMM text
 * -->SELFIELD text
 *----------------------------------------------------------------------*
 FORM FRM_USER_COMMAND USING UCOMM LIKE SY-UCOMM
 SELFIELD TYPE SLIS_SELFIELD.
DATA:
 TH_DATA LIKE LINE OF IT_DATA,
 LW_GRID TYPE REF TO CL_GUI_ALV_GRID, 
 LW_VALID(1) TYPE C.
CASE UCOMM.
WHEN 'SELECT'.
 SELFIELD-REFRESH = 'X'.
TH_DATA-CHK = 'X'.
MODIFY IT_DATA FROM TH_DATA
TRANSPORTING CHK
WHERE CHK = SPACE.
WHEN 'DESELECT'.
SELFIELD-REFRESH = 'X'.
TH_DATA-CHK = ' '.
MODIFY IT_DATA FROM TH_DATA
TRANSPORTING CHK
WHERE CHK = 'X'.
ENDCASE.
ENDFORM. " FRM_USER_COMMAND
總結
以上是生活随笔為你收集整理的ALV程序checkbox全选及取消全选的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: alv+checkbox+select
- 下一篇: ALV全解
