原文地址: http://space.itpub.net/166523/viewspace-410215
Table Control
中我们可以根据每行记录的字段条件限制相关的单元格为不可输入,例如某个字段内容为
A01
时,那么该字段就不允许更改,通常我们会通过在
PAI
里面的
MODULE
做不允许更改的检查,这样虽然可以实现但是缺乏直观性,用户只能在输入以后才会得到字段不能更改的提示,如果我们直接将该单元设置为不可输入项那么可以大大减少用户的操作繁琐度。
Eg
:
*
在
PBO
循环
table control
的内表
PROCESS BEFORE OUTPUT
.
LOOP AT lt_mara WITH CONTROL tc1 CURSOR tc1-current_line
.
MODULE tc1_get_lines .
ENDLOOP .
MODULE tc1_get_lines .
ENDLOOP .
*
当
lt_mara-mtde
为
A01
时设置该字段为不可输入
MODULE tc1_get_lines OUTPUT.
g_tc1_lines
=
sy
-
loopc.
IF lt_mara
-
mtde EQ
'
A01
'
.
LOOP AT SCREEN.
IF screen - name = ' LT_MARA-MTDE ' .
screen - input = ' 0 ' .
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
LOOP AT SCREEN.
IF screen - name = ' LT_MARA-MTDE ' .
screen - input = ' 0 ' .
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE.
"
TC1_get_lines OUTPUT
最终效果A01内容的单元格将无法修改