控制Table Control的单元格为不可输入项
2010-07-06 13:52
337 查看
原文地址: 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.
*当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.
ENDMODULE. "TC1_get_lines OUTPUT
最终效果A01内容的单元格将无法修改
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.
*当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.
ENDMODULE. "TC1_get_lines OUTPUT
最终效果A01内容的单元格将无法修改
相关文章推荐
- SAP TableControl 控制单个单元格输入
- SAP TableControl 控制单个单元格输入
- table control 单元格级别控制
- table control 单元格级别控制
- <下拉框实现,二> - 屏幕的I/O控件或者Table Control的单元格通过下拉框赋值
- 关于Table Control 列属性的控制
- ABAP 表格控制(Table Control)和 步循环(STEP-LOOP) . .
- Ajax: Excel风格的HTML Table输入控件[五]:单元格的编辑
- ABAP 表格控制(Table Control)和 步循环(STEP-LOOP)
- 表单控制输入(不可输入空格.特殊字符)
- table control 控制某列…
- Ajax: Excel风格的HTML Table输入控件[三]:线条与滚动条的精确控制
- Ajax: Excel风格的HTML Table输入控件[六]:单元格的显示
- abap table control控制光标
- 1.使用css精准控制table边框与各单元格边框
- 从C#输入到excel要如何控制每个单元格的边框线是否可见
- ABAP的alv控制输入输出到单元格
- [转帖]table-layout:fixed导致单元格宽度不受控制的问题
- TcxGridTableView中怎么控制某一行的某列不可编辑?
- Jquery实现鼠标双击Table单元格变成文本框,输入内容并更新到数据库