如果想checkbox每次选择起到控制作用
PARAMETERS: p_cb1 TYPE c AS CHECKBOX DEFAULT 'X' USER-COMMAND check,
必须设置这个user-command
必须设置,后面的名字无所谓
REPORT zlm_checkbox_04.
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,
"必须设置这个user-command
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 .
PERFORM zform_int.
PERFORM zform_seletc.
*&---------------------------------------------------------------------*
*& Form zform_seletc
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM zform_seletc.
IF p_cb1 = ''.
CLEAR: p_list1 .
LOOP AT SCREEN .
IF screen-name = 'P_LIST1' .
screen-input = 0 .
MODIFY SCREEN .
ENDIF .
ENDLOOP .
ENDIF.
IF p_cb2 = ''..
LOOP AT SCREEN .
IF screen-name = 'P_LIST2' .
screen-input = 0 .
MODIFY SCREEN .
ENDIF .
ENDLOOP .
ENDIF.
ENDFORM. "zform_seletc
*&---------------------------------------------------------------------*
*& Form zform_int
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM zform_int.
*向listbox里面添加值
REFRESH list .
value-key = '1' . "这个就是变量P_LIST的值
value-text = '一' . "这个是text
APPEND value TO list .
value-key = '2' .
value-text = '二' .
APPEND value TO list .
*调用函数显示listbox里面的值
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'P_LIST1'
values = list.
REFRESH list .
value-key = 'A' .
value-text = '啊' .
APPEND value TO list .
value-key = 'O' .
value-text = '哦' .
APPEND value TO list .
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'P_LIST2'
values = list.
ENDFORM. "zform_int