ALV复选框根据全选勾选取消 以及选择一个单据后 勾选上这个单据全部行项目
首先在输出内表结构里定义CBOX 复选框
cbox TYPE char1,
然后设置一下四个FILEDCAY参数
gs_fieldcat-edit = &1. gs_fieldcat-hotspot = &4. gs_fieldcat-checkbox = &5.
GS_FIELDCAT-HOTSPOT = &6.
注意LAYOUT中取消BOX_FNAME 的设置
WHEN '&IC1'. CASE SELFIELD-SEL_TAB_FIELD. READ TABLE GT_EXCEL INTO DATA(LS_EXCEL) INDEX SELFIELD-TABINDEX . IF SELFIELD-FIELDNAME = 'CBOX' AND LS_EXCEL-CBOX = 'X'. LOOP AT GT_EXCEL ASSIGNING FIELD-SYMBOL(<FS_ANLN1>) WHERE ANLN1 = LS_EXCEL-ANLN1. <FS_ANLN1>-CBOX = ''. ENDLOOP. ELSEIF SELFIELD-FIELDNAME = 'CBOX' AND GS_EXCEL-CBOX = ''. LOOP AT GT_EXCEL ASSIGNING <FS_ANLN1> WHERE ANLN1 = LS_EXCEL-ANLN1. <FS_ANLN1>-CBOX = 'X'. ENDLOOP. ENDIF. PERFORM GRID_CHANGE_DATA."刷新"
全选
GS_EXCEL-CBOX = 'X'. MODIFY GT_EXCEL FROM GS_EXCEL TRANSPORTING CBOX WHERE CBOX = ''.
取消全选
GS_EXCEL-CBOX = ''. MODIFY GT_EXCEL FROM GS_EXCEL TRANSPORTING CBOX WHERE CBOX = 'X'.
刷新ALV事件
DATA: L_GRID TYPE REF TO CL_GUI_ALV_GRID. CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' IMPORTING E_GRID = L_GRID. CALL METHOD L_GRID->CHECK_CHANGED_DATA. CALL METHOD L_GRID->REFRESH_TABLE_DISPLAY.
刷新行列
SELFIELD-REFRESH = 'X'.
SELFIELD-COL_STABLE = 'X'.
SELFIELD-ROW_STABLE = 'X'.
分类:
ABAP / 1 报表相关 / 报表设置
, ABAP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!