可编辑单元格ALV
????? 具體單元格可編輯狀態(tài)設(shè)置的主要思想:首先通過EIDT參數(shù)設(shè)置列為可編輯狀態(tài);其次對輸出內(nèi)表進(jìn)行循環(huán)將不需要編輯的行設(shè)置為不可編輯狀態(tài),如此單元格的可編輯屬性設(shè)置完畢。下面粘貼簡要代碼。
部分代碼:
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, " 為內(nèi)表添加設(shè)置編輯狀態(tài)所需的字段??
????? END OF ITAB.
S_FIELDCAT-FIELDNAME = 'ZBQFS'. " 設(shè)置列可編輯
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. " 設(shè)置為不可編輯狀態(tài)
????? APPEND STYLELIN TO ITAB-FIELD_STYLE.
????? CLEAR STYLELIN.
??????MODIFY ITAB.
??? ENDIF.
endloop.
X_LAYOUT-STYLE_FNAME = 'FIELD_STYLE'. " 將內(nèi)表中的字段名存入顯示格式
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'"調(diào)用函數(shù)
??? EXPORTING
???? IT_FIELDCAT_LVC??? = T_FIELDCAT
????? IS_LAYOUT_LVC????? = X_LAYOUT
??? TABLES????? T_OUTTAB?????????? = ITAB_LB
??? EXCEPTIONS
????? PROGRAM_ERROR????? = 1
????? OTHERS???????????? = 2.
總結(jié)
- 上一篇: SAP内部转移定价
- 下一篇: 控制ALV单元格可编辑