ABAP CHECKBOX 和LISTBOX使用指南

1.

什么是checkbox
就是一个复选框,可以用like或者type来定义,为1个字符型变量。它是parameter的一个选项,parameter xxx as checkbox就可以在选择屏幕上显示一个复选框。
2.什么是listbox
就是一个下拉列表,你可以在这个列表中选择一条记录进行某种操作。也是parameter的一个选项,parameter xxx as listbox就可以在选择屏幕上显示一个下拉列表。
3.如何使用:
下面我们用一个程序来说明这两者的使用方法。
REPORT Z_TEXT
TYPE-POOLS: VRM . “存放combobox内容的type pool
DATA: NAME TYPE VRM_ID , “ list box的名称
LIST TYPE VRM_VALUES , “ list box的值
VALUE LIKE LINE OF LIST . “ list box的结构
*定义checkbox,指定command,为了能够响应选择屏幕中值的改变
PARAMETERS: P_CB1 TYPE C AS CHECKBOX DEFAULT 'X' USER-COMMAND CHECK,
P_CB2 TYPE C AS CHECKBOX DEFAULT 'X' USER-COMMAND CHECK.
*定义listbox,必须指定visible length
PARAMETERS: P_LIST1(10) TYPE C AS LISTBOX
VISIBLE LENGTH 15 ,
P_LIST2(20) TYPE C AS LISTBOX
VISIBLE LENGTH 25 .
*开始执行
AT SELECTION-SCREEN OUTPUT .
*--〉选择1而没有选择2
IF P_CB1 = 'X' AND P_CB2 = ''.
*---〉向listbox里面添加值
REFRESH LIST .
VALUE-KEY = '1111111111' . “这个就是变量P_LIST的值
VALUE-TEXT = '1111111111' . “这个是text
APPEND VALUE TO LIST .
VALUE-KEY = '2222222222' .
VALUE-TEXT = '2222222222' .
APPEND VALUE TO LIST .
VALUE-KEY = '3333333333' .
VALUE-TEXT = '3333333333' .
APPEND VALUE TO LIST .
*---〉调用函数显示listbox里面的值
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_LIST1'
VALUES = LIST.
*---〉把第二个listbox的值清空,并且不能输入
CLEAR P_LIST2 .
LOOP
AT SCREEN . IF SCREEN-NAME = 'P_LIST2' .
SCREEN-INPUT = 0 .
MODIFY SCREEN .
ENDIF .
ENDLOOP .
*--〉选择2,没有选择1,同上
ELSEIF P_CB2 = 'X' AND P_CB1 = ''.
REFRESH LIST .
VALUE-KEY = 'AAAAAAAAAAAAAAAAAAAA' .
VALUE-TEXT = 'AAAAAAAAAAAAAAAAAAAA' .
APPEND VALUE TO LIST .
VALUE-KEY = 'BBBBBBBBBBBBBBBBBBBB' .
VALUE-TEXT = 'BBBBBBBBBBBBBBBBBBBB' .
APPEND VALUE TO LIST .
VALUE-KEY = 'CCCCCCCCCCCCCCCCCCCC' .
VALUE-TEXT = 'CCCCCCCCCCCCCCCCCCCC' .
APPEND VALUE TO LIST .
APPEND VALUE TO LIST .
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_LIST2'
VALUES = LIST.
*---〉清空listbox 1的值
CLEAR P_LIST1 .
LOOP
AT SCREEN . IF SCREEN-NAME = 'P_LIST1' .
SCREEN-INPUT = 0 .
MODIFY SCREEN .
ENDIF .
ENDLOOP .
*--〉都没有选择,都清空且不能输入
ELSEIF P_CB1 = '' AND P_CB2 = '' .
CLEAR: P_LIST1,P_LIST2 .
LOOP
AT SCREEN . IF SCREEN-NAME = 'P_LIST1' .
SCREEN-INPUT = 0 .
MODIFY SCREEN .
ENDIF .
ENDLOOP .
LOOP
AT SCREEN . IF SCREEN-NAME = 'P_LIST2' .
SCREEN-INPUT = 0 .
MODIFY SCREEN .
ENDIF .
ENDLOOP .
*--〉都选,执行
ELSEIF P_CB1 = 'X' AND P_CB2 = 'X' .
REFRESH LIST .
VALUE-KEY = '1111111111' .
VALUE-TEXT = '1111111111' .
APPEND VALUE TO LIST .
VALUE-KEY = '2222222222' .
VALUE-TEXT = '2222222222' .
APPEND VALUE TO LIST .
VALUE-KEY = '3333333333' .
VALUE-TEXT = '3333333333' .
APPEND VALUE TO LIST .
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_LIST1'
VALUES = LIST.
REFRESH LIST .
VALUE-KEY = 'AAAAAAAAAAAAAAAAAAAA' .
VALUE-TEXT = 'AAAAAAAAAAAAAAAAAAAA' .
APPEND VALUE TO LIST .
VALUE-KEY = 'BBBBBBBBBBBBBBBBBBBB' .
VALUE-TEXT = 'BBBBBBBBBBBBBBBBBBBB' .
APPEND VALUE TO LIST .
VALUE-KEY = 'CCCCCCCCCCCCCCCCCCCC' .
VALUE-TEXT = 'CCCCCCCCCCCCCCCCCCCC' .
APPEND VALUE TO LIST .
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = 'P_LIST2'
VALUES = LIST.
ENDIF .
START-OF-SELECTION .
*--〉输出到第二屏幕看看
WRITE: P_LIST1 ,/ P_LIST2 .

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28832/viewspace-1036774/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28832/viewspace-1036774/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP SALV(SAP List Viewer)是一个用于在SAP系统中创建和显示报表的工具。要在ABAP SALV报表中添加复选框(checkbox),你可以按照以下步骤进行操作: 1. 定义内表(table):首先,你需要定义一个内表来存储数据和复选框的状态。可以使用`TYPES`关键字定义一个包含所需字段的结构。 2. 填充内表数据:将需要显示的数据填充到内表中。可以使用`APPEND`语句将数据行添加到内表中。 3. 创建SALV对象:使用`CL_SALV_TABLE`类创建一个SALV对象,并将内表作为参数传递给构造方法。 4. 添加复选框列:通过调用`ADD_CHECKBOX_COLUMN`方法,为SALV对象添加一个复选框列。可以指定该列的标题和字段名。 5. 显示报表:使用`DISPLAY`方法显示SALV报表。 下面是一个简单的示例代码: ```abap DATA: lt_data TYPE TABLE OF (your_structure), lo_salv TYPE REF TO cl_salv_table. * 定义内表类型 TYPES: BEGIN OF ty_data, field1 TYPE data_type, field2 TYPE data_type, checkbox TYPE abap_bool, END OF ty_data. * 填充内表数据 APPEND VALUE #( field1 = value1 field2 = value2 ) TO lt_data. * 创建SALV对象 lo_salv = cl_salv_table=>factory( ). * 添加复选框列 lo_salv->add_checkbox_column( title = 'CheckBox' fieldname = 'CHECKBOX' ). * 设置内表数据 lo_salv->set_table_for_first_display( exporting i_structure_name = 'TY_DATA' changing it_outtab = lt_data ). * 显示报表 lo_salv->display( ). ``` 这段代码将在SALV报表中显示一个复选框列,用户可以选择或取消选择复选框。请根据你的实际需求修改字段名称、数据类型和内表数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值