日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

控制ALV单元格可编辑

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 控制ALV单元格可编辑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

REPORT ZALV_EDIT.

TYPE-POOLS: SLIS.

*- Fieldcatalog

DATA: IT_FIELDCAT TYPE LVC_T_FCAT.

DATA: X_FIELDCAT TYPE LVC_S_FCAT.

DATA: X_LAYOUT TYPE LVC_S_LAYO.

?

"第1步:用操作具體單元的是否可編輯的內表和工作區

?

DATA: LS_EDIT TYPE LVC_S_STYL,

??????LT_EDIT TYPE LVC_T_STYL,

????gr_alvgrid?TYPE REF TO cl_gui_alv_grid .

"第2步:在內表定義添加字段,用于控制具體行的具體單元是否可編輯

DATA: BEGIN OF IT_VBAP OCCURS 0,

??VBELN LIKE VBAP-VBELN,

??POSNR LIKE VBAP-POSNR,

??STYLE TYPE LVC_T_STYL,?"FOR DISABLE

END OF IT_VBAP.

DATA: LS_OUTTAB LIKE LINE OF IT_VBAP.

SELECT VBELN??POSNR

??UP TO 100 ROWS

??INTO CORRESPONDING FIELDS OF TABLE IT_VBAP

FROM VBAP.

?

DATA:L_POS TYPE I VALUE 1.

CLEAR: L_POS.

L_POS = L_POS + 1.

X_FIELDCAT-SELTEXT = 'VBELN'.

X_FIELDCAT-FIELDNAME = 'VBELN'.

X_FIELDCAT-TABNAME = 'ITAB'.

X_FIELDCAT-COL_POS = L_POS.

X_FIELDCAT-EDIT = 'X'.

X_FIELDCAT-OUTPUTLEN = '10'.

x_fieldcat-ref_field = 'VBELN'.

x_fieldcat-ref_table = 'VBAK'.

APPEND X_FIELDCAT TO IT_FIELDCAT.

?

CLEAR X_FIELDCAT.

L_POS = L_POS + 1.

X_FIELDCAT-SELTEXT = 'POSNR'.

X_FIELDCAT-FIELDNAME = 'POSNR'.

X_FIELDCAT-TABNAME = 'ITAB'.

X_FIELDCAT-COL_POS = L_POS.

X_FIELDCAT-EDIT = 'X'.

X_FIELDCAT-OUTPUTLEN = '5'.

APPEND X_FIELDCAT TO IT_FIELDCAT.

CLEAR X_FIELDCAT.

L_POS = L_POS + 1.

?

"第3步:設置第六行兩個單元都不能輸入

SY-TABIX = 6.

LS_EDIT-FIELDNAME = 'VBELN'.

LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.

LS_EDIT-STYLE2 =?SPACE.

LS_EDIT-STYLE3 = SPACE.

LS_EDIT-STYLE4 = SPACE.

LS_EDIT-MAXLEN = 10.

INSERT LS_EDIT INTO TABLE LT_EDIT.

?

LS_EDIT-FIELDNAME = 'POSNR'.

LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.

LS_EDIT-STYLE2 = SPACE.

LS_EDIT-STYLE3 = SPACE.

LS_EDIT-STYLE4 = SPACE.

LS_EDIT-MAXLEN = 6.

INSERT LS_EDIT INTO TABLE LT_EDIT.

?

INSERT LINES OF LT_EDIT INTO TABLE LS_OUTTAB-STYLE.

?

"第4步:將控制數據寫到內表

?

MODIFY IT_VBAP INDEX SY-TABIX FROM LS_OUTTAB TRANSPORTING STYLE .

?

?

?

"設置第10行只有項目不能輸入

?

clear LS_OUTTAB.

refresh LT_EDIT.

LS_EDIT-FIELDNAME = 'POSNR'.

LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.

LS_EDIT-STYLE2 = SPACE.

LS_EDIT-STYLE3 = SPACE.

LS_EDIT-STYLE4 = SPACE.

LS_EDIT-MAXLEN = 6.

INSERT LS_EDIT INTO TABLE LT_EDIT.

?

INSERT LINES OF LT_EDIT INTO TABLE LS_OUTTAB-STYLE.

?

SY-TABIX = 10.

?

?

"將控制數據寫到內表

?

MODIFY IT_VBAP INDEX SY-TABIX FROM LS_OUTTAB TRANSPORTING STYLE .

?

"第5步:設置控制字段

X_LAYOUT-STYLEFNAME?= 'STYLE'.

?

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'

??EXPORTING

????I_CALLBACK_PROGRAM = SY-REPID

????IS_LAYOUT_LVC??????= X_LAYOUT

????IT_FIELDCAT_LVC????= IT_FIELDCAT

??TABLES

????T_OUTTAB???????????= IT_VBAP[]

??EXCEPTIONS

????PROGRAM_ERROR??????= 1

????OTHERS?????????????= 2.

IF SY-SUBRC NE 0.

??MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

??WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

源自:http://www.cnblogs.com/VerySky/articles/2323550.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的控制ALV单元格可编辑的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。