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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8356764/viewspace-1023156/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- js checkbox 全選 取消全選JS
- vue checkbox 實現全選,取消全選Vue
- checkbox 核取方塊全選程式碼
- jQuery核取方塊checkbox的全選和反選jQuery
- 小程式核取方塊全選和全部取消
- Jquery實現頁面的新增、刪除、全選、取消全選、漸變色jQuery
- javascript實現 checkbox全選和批量刪除功能JavaScript
- 點選文字選中或取消選中checkbox核取方塊
- checkbox及css實現點選下拉選單CSS
- GridView全選View
- 使用jQuery做核取方塊的全選與取消jQuery
- TreeSelect 篩選後的全選是否支援僅全選篩選出來的列表
- jQuery操作checkbox選擇程式碼jQuery
- React實現全選和反選React
- excel全選快捷鍵ctrl加什麼 excel表格全選快捷鍵Excel
- vue.js單選全選刪除Vue.js
- vue分頁全選和單選操作Vue
- 讓前端的下拉框支援單選、多選及全選,後臺MyBaits解決方案前端AI
- JavaScript 核取方塊全選和全不選JavaScript
- el-table在ajax分頁時支援單頁全選和全選所有
- 全選快捷鍵ctrl加什麼 電腦全選快捷鍵怎麼操作
- 28-30 js 文字全選JS
- JavaScript核取方塊全選和全不選詳解JavaScript
- Flutter學習(8)——CheckBox多選框使用及動態更改多選框資料Flutter
- 全選練習-原生版和jQueryjQuery
- 電商網站之“全選功能”網站
- JavaScript獲取選中checkbox valueJavaScript
- js判斷checkbox是否選中JS
- laravel admin 手動修復 selectable 沒有全選/全否功能Laravel
- 如何擴大CheckBox點選區域
- JavaScript獲取選中checkbox核取方塊的選中值JavaScript
- 全志資料:麥克風選型,外圍電路及Layout指南
- 在ng-repeat內Checkbox預設選中
- C++ Qt開發:CheckBox多選框元件C++QT元件
- agGrid設定對指定行不能選中checkbox
- vue 工作專案中 實現訊息列表的 全選,反選,刪除功能Vue
- CSS3全覽_選擇符+特指+單位+字型CSSS3
- vue中使用Checkbox 多選框迴圈遍歷Vue
- JavaScript 判斷checkbox核取方塊是否選中JavaScript