ABAP OOALV 动态设置单元格可否编辑
2017-07-31 20:39
316 查看
对于OOALV有些列允许客户输入,但是当用户输入之后,或者ALV展示之前要判断是否满足一定的条件,如果满足,那么就要单独设置某一行或者几行的这个字段不可以编辑或可以编辑,效果如果所示:
实现步骤
1.在展示的内表或内表类型中添加字段
CELLTAB TYPE LVC_T_STYL.
例如:
TYPES : BEGIN OF T_SC,
BUKRS LIKE ANLZ-BUKRS,
ANLN1 LIKE ANLA-ANLN1, "模具编号
ANLN2 LIKE ANLA-ANLN2,
CELLTAB TYPE LVC_T_STYL,
END OF T_SC.
2.在layout设置中添加代码
XXX_LAYOUT-STYLEFNAME =’CELLTAB’.
3.实现控制编辑属性的代码
4.在需要重新显示的地方调用代码
在每一个你需要重新判断单元格是否可以编辑的地方调用,如:
MODULE DISPLAY_FINANCIAL_DISPOSAL OUTPUT.
"设置可编辑字段
PERFORM FRM_INIT_STYLE_TAB.
"展示avl
PERFORM DISPLAY_FINANCIAL_DISPOSAL.
ENDMODULE. " DISPLAY_FINANCIAL_DISPOSAL OUTPUT5.按实际情况配合修改数据事件使用
实现步骤
1.在展示的内表或内表类型中添加字段
CELLTAB TYPE LVC_T_STYL.
例如:
TYPES : BEGIN OF T_SC,
BUKRS LIKE ANLZ-BUKRS,
ANLN1 LIKE ANLA-ANLN1, "模具编号
ANLN2 LIKE ANLA-ANLN2,
CELLTAB TYPE LVC_T_STYL,
END OF T_SC.
2.在layout设置中添加代码
XXX_LAYOUT-STYLEFNAME =’CELLTAB’.
3.实现控制编辑属性的代码
FORM FRM_INIT_STYLE_TAB . DATA: LT_SFLIGHT TYPE TABLE OF SFLIGHT WITH HEADER LINE, LT_CELLTAB TYPE LVC_T_STYL, LS_CELLTAB TYPE LVC_S_STYL, L_INDEX TYPE I. LOOP AT IT_TAB INTO WA_TAB. CLEAR : WA_TAB-CELLTAB. "不为空会报错 IF WA_TAB-CELLTAB IS INITIAL. L_INDEX = SY-TABIX. REFRESH LT_CELLTAB. LS_CELLTAB-FIELDNAME = 'ZCWCZD'. IF WA_TAB-ZCWCZI IS NOT INITIAL AND WA_TAB-ZCXCZI IS INITIAL. LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED. ELSE. LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED. ENDIF. INSERT LS_CELLTAB INTO TABLE LT_CELLTAB. INSERT LINES OF LT_CELLTAB INTO TABLE WA_TAB-CELLTAB. MODIFY IT_TAB FROM WA_TAB INDEX L_INDEX. ENDIF. ENDLOOP. ENDFORM. " FRM_INIT_STYLE_TAB
4.在需要重新显示的地方调用代码
在每一个你需要重新判断单元格是否可以编辑的地方调用,如:
MODULE DISPLAY_FINANCIAL_DISPOSAL OUTPUT.
"设置可编辑字段
PERFORM FRM_INIT_STYLE_TAB.
"展示avl
PERFORM DISPLAY_FINANCIAL_DISPOSAL.
ENDMODULE. " DISPLAY_FINANCIAL_DISPOSAL OUTPUT5.按实际情况配合修改数据事件使用
相关文章推荐
- SAP OOALV 动态设置单元格可否编辑
- easyui datagrid动态设置行、列、单元格不允许编辑
- jqgrid动态设置某个单元格进入编辑状态
- jqgrid 动态设置单元格不可编辑
- easyui datagrid动态设置行、列、单元格不允许编辑
- 设置DataGridView 显示自己添加编辑的列名,不动态显示数据库本身的列名
- swing设置JTable的单元格内容居中显示、不能被编辑,隐藏某一列
- ABAP 将单元格设置编辑状态 FORM
- 设置DevExpress的gridcontrol单元格为不可编辑
- npoi的用法,动态的判断单元格的大小,设置列的宽度
- Ext Grid 单元格事件 可动态配置是否可编辑等
- Ext GridPanel 设置点击次数打开可编辑单元格
- cxGrid动态设置单元格对齐方式
- 设置ALV单元格可编辑状态
- Swing JTable的一些用法:单元格触发事件、设置可编辑单元格
- 动态设置表单元素的编辑属性
- MFC--CListCtrl的两个扩展:可设置单元格(子项)颜色属性、可编辑单元格(子项)
- extjs 动态设置columnModel的某一列为可编辑
- winform datagridview设置列单元格不可编辑可以选定指定内容
- DataExcel 设置单元格 编辑控件 radiocheck,checkbox,textedit,combotext,numberedit