设置ALV单元格可编辑状态
????? 具體單元格可編輯狀態設置的主要思想:首先通過EIDT參數設置列為可編輯狀態;其次對輸出內表進行循環將不需要編輯的行設置為不可編輯狀態,如此單元格的可編輯屬性設置完畢。下面粘貼簡要代碼。
部分代碼:
DATA: BEGIN OF ITAB OCCURS 0,????? ZQRFH_ICON TYPE STRING,
????? ZLDATE TYPE ZLDATE,
????? ZLUSR TYPE ZLUSR,
????? K TYPE STRING,
????? FIELD_STYLE TYPE LVC_T_STYL, " 為內表添加設置編輯狀態所需的字段??
????? END OF ITAB.
S_FIELDCAT-FIELDNAME = 'ZBQFS'. " 設置列可編輯
S_FIELDCAT-EDIT = 'X'.
APPEND S_FIELDCAT TO T_FIELDCAT.
DATA STYLELIN TYPE LVC_S_STYL.
LOOP AT ITAB.
??? IF ITAB-ZXMDM = 'D' OR ITAB-ZXMDM = 'F' OR ITAB-ZXMDM = 'H'.
????? STYLELIN-FIELDNAME = 'ZBQFS'. " 需要編輯的列名
????? STYLELIN-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED. " 設置為不可編輯狀態
????? APPEND STYLELIN TO ITAB-FIELD_STYLE.
????? CLEAR STYLELIN.
??????MODIFY ITAB.
??? ENDIF.
endloop.
X_LAYOUT-STYLE_FNAME = 'FIELD_STYLE'. " 將內表中的字段名存入顯示格式
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'"調用函數
??? EXPORTING
???? IT_FIELDCAT_LVC??? = T_FIELDCAT
????? IS_LAYOUT_LVC????? = X_LAYOUT
??? TABLES????? T_OUTTAB?????????? = ITAB_LB
??? EXCEPTIONS
????? PROGRAM_ERROR????? = 1
????? OTHERS???????????? = 2.
總結
以上是生活随笔為你收集整理的设置ALV单元格可编辑状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ALV中下拉列表列的实现
- 下一篇: Insert Data into Sor