ALV报表中设置可修改字段
首先定義兩種宏,一種是可編輯,一種是不可編輯
?FIELDCAT-EDIT??????=?‘X’.?????“編輯ALV
其次在內表中加上個定義個結構
?FIELD_STYLE??TYPE?LVC_T_STYL
然后寫控制邏輯
? DATA?LS_STYLEROW?TYPE?LVC_S_STYL?.
? DATA?LT_STYLETAB?TYPE?LVC_T_STYL?.
??LOOP?AT?T_ITAB.??
? CLEAR?LT_STYLETAB[].
“此處寫控制邏輯”
???? LS_STYLEROW-FIELDNAME?=?‘ZZ_XHRQ’.這個是要控制的字段名
??LS_STYLEROW-STYLE?=?CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.這個方法是控制style是否可用,與之對應的有個 MC_STYLE_ENABLED,根據不同的邏輯替換
? INSERT?LS_STYLEROW?INTO?TABLE??LT_STYLETAB.
? T_ITAB-FIELD_STYLE[]?=?LT_STYLETAB[].
? MODIFY?T_ITAB.
??ENDLOOP.
?HOUT2?ZZ_XHRQ??????‘銷毀日期’??????????????8???CHAR?. 根據不同的邏輯用不同的宏
最后在定義alv屬性的時候加上 PS_LAYOUT-STYLEFNAME?=?‘FIELD_STYLE’. 這個名字是前面在內表中定義的結構名字
想讓修改的字段保存到內表則需要用edt_cll_cb退出可編輯單元格時回調”。
??DATA:?I_GRID_SETTINGS?TYPE?LVC_S_GLAY.
??I_GRID_SETTINGS-EDT_CLL_CB?=?‘X’.
在那個FUCTION中加一行
I_GRID_SETTINGS??????????=?I_GRID_SETTINGS
總結
以上是生活随笔為你收集整理的ALV报表中设置可修改字段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ALV回车捕捉
- 下一篇: 如何在ABAP ALV中具体的控制每个格