alv的列行和单元格控制.docx
- 文档编号:10979334
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:12
- 大小:66.88KB
alv的列行和单元格控制.docx
《alv的列行和单元格控制.docx》由会员分享,可在线阅读,更多相关《alv的列行和单元格控制.docx(12页珍藏版)》请在冰豆网上搜索。
alv的列行和单元格控制
1.ALV某列可以编辑.
很简单在FIELDCAT中设置EDIT属性为X就可以了。
2.ALV某行可以编辑.
要在ALV数据内表中添加一个字段参考内表类(LVC_T_STYL)
并且在ALV的LAYOUT部分指示出控制是否可编辑的字段名字
3.ALV某个单元格可以编辑.
控制单元格和行的控制一样
如果控制到行和单元格,就不能用以前那个’REUSE_ALV_GRID_DISPLAY’了,
要用增强的函数‘REUSE_ALV_GRID_DISPLAY_LVC’.
INCLUDE
INCLUDE
TYPE-POOLS:
slis.
TABLES:
SPFLI.
TYPES:
BEGINOFTYP_SPFLI,
CARRID TYPESPFLI-CARRID,
CONNID TYPESPFLI-CONNID,
COUNTRYFRTYPESPFLI-COUNTRYFR,
COUNTRYTOTYPESPFLI-COUNTRYTO,
CITYFROM TYPESPFLI-CITYFROM,
CITYTO TYPESPFLI-CITYTO,
ENDOFTYP_SPFLI,
BEGINOFTYP_OUTPUT,
ICON TYPEicon_d,
SYMBOL TYPEicon_d,
CARRID TYPESPFLI-CARRID,
CONNID TYPESPFLI-CONNID,
COUNTRYFRTYPESPFLI-COUNTRYFR,
COUNTRYTOTYPESPFLI-COUNTRYTO,
CITYFROM TYPESPFLI-CITYFROM,
CITYTO TYPESPFLI-CITYTO,
STYLE TYPELVC_T_STYL,“FORDISABLE
ENDOFTYP_OUTPUT.
DATA:
TH_SPFLITYPETYP_SPFLI,
TD_SPFLITYPETABLEOFTYP_SPFLI,
TH_STYLETYPELVC_S_STYL,
TD_STYLETYPETABLEOFLVC_S_STYL,
TH_LAYOUTTYPELVC_S_LAYO,
TH_FIELDCATTYPELVC_S_FCAT,
TD_FIELDCATTYPETABLEOFLVC_S_FCAT,
TH_OUTPUTTYPETYP_OUTPUT,
TD_OUTPUTTYPETABLEOFTYP_OUTPUT.
START-OF-SELECTION.
SELECT-OPTIONS:
S_CARRIDFORSPFLI-CARRID,
S_CONNIDFORSPFLI-CONNID.
PERFORMFRM_GET_DATA.
PERFORMFRM_EDIT_DATA.
PERFORMFRM_DISPLAY_DATA.
*&———————————————————————*
*& Form FRM_GET_DATA
*&———————————————————————*
* GETMAINDATA
*———————————————————————-*
FORMFRM_GET_DATA.
SELECT CARRID
CONNID
COUNTRYFR
COUNTRYTO
CITYFROM
CITYTO
INTO TABLETD_SPFLI
FROM SPFLI
WHERECARRIDINS_CARRID
ANDCONNIDINS_CONNID.
IFSY-SUBRC<>0.
MESSAGES001DISPLAYLIKE‘E’.
LEAVELIST-PROCESSING.
ENDIF.
ENDFORM. ”FRM_GET_DATA
*&———————————————————————*
*& Form FRM_DISPLAY_DATA
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORMFRM_DISPLAY_DATA.
PERFORMFRM_SET_TITLE.
PERFORMFRM_SET_FIELDCAT.
PERFORMFRM_CALL_FUNCTION.
ENDFORM. ”FRM_DISPLAY_DATA
*&———————————————————————*
*& Form FRM_SET_TITLE
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORMFRM_SET_TITLE.
TH_LAYOUT-STYLEFNAME=‘STYLE’.
TH_LAYOUT-GRID_TITLE =‘行列单元格编辑控制’.
TH_LAYOUT-CWIDTH_OPT=‘X’.
ENDFORM. ”FRM_SET_TITLE
*&———————————————————————*
*& Form FRM_SET_FIELDCAT
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORMFRM_SET_FIELDCAT.
PERFORMFRM_SET_VALUEUSING‘1′‘ICON’ ‘ICON’‘5′‘‘.
PERFORMFRM_SET_VALUEUSING‘2′‘SYMBOL’‘SYMBOL’‘5′‘‘.
PERFORMFRM_SET_VALUEUSING‘3′‘CARRID’‘航线承运人ID’‘3′”.
PERFORMFRM_SET_VALUEUSING‘4′‘CONNID’‘航班连接Id’‘4′”.
PERFORMFRM_SET_VALUEUSING‘5′‘COUNTRYFR’‘国家代码FROM’‘3′”.
PERFORMFRM_SET_VALUEUSING‘6′‘COUNTRYTO’‘国家代码TO’‘3′”.
PERFORMFRM_SET_VALUEUSING‘7′‘CITYFROM’‘起飞城市’‘20′”.
PERFORMFRM_SET_VALUEUSING‘8′‘CITYTO’‘目标城市’‘20′”.
ENDFORM. ”FRM_SET_FIELDCAT
*&———————————————————————*
*& Form FRM_SET_VALUE
*&———————————————————————*
* text
*———————————————————————-*
* –>P_COL_POS text NO_ROWMARK
* –>P_FIELDNAME text
* –>P_SELTEXT_L text
* –>P_OUTPUTLEN text
*———————————————————————-*
FORMFRM_SET_VALUE USING I_COL_POS
I_FIELDNAME
I_SELTEXT
I_OUTPUTLEN
I_CHECKBOX.
TH_FIELDCAT-COL_POS= I_COL_POS.
TH_FIELDCAT-FIELDNAME=I_FIELDNAME.
TH_FIELDCAT-SCRTEXT_M=I_SELTEXT.
TH_FIELDCAT-OUTPUTLEN=I_OUTPUTLEN.
IFI_FIELDNAME=‘CARRID’.
TH_FIELDCAT-EDIT=‘X’.
ELSEIFI_FIELDNAME=‘CHECK’.
TH_FIELDCAT-SCRTEXT_M=‘SELECT’.
TH_FIELDCAT-CHECKBOX=‘X’.
TH_FIELDCAT-OUTPUTLEN=1.
TH_FIELDCAT-EDIT=‘X’.
ELSEIFI_FIELDNAME=‘ICON’.
TH_FIELDCAT-icon=‘X’.
ELSEIFI_FIELDNAME=‘SYMBOL’.
TH_FIELDCAT-symbol=‘X’.
ENDIF.
APPENDTH_FIELDCATTOTD_FIELDCAT.
CLEARTH_FIELDCAT.
ENDFORM. ”FRM_SET_VALUE
*&———————————————————————*
*& Form FRM_CALL_FUNCTION
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORMFRM_CALL_FUNCTION.
* callfunction‘REUSE_ALV_GRID_DISPLAY’
CALLFUNCTION‘REUSE_ALV_GRID_DISPLAY_LVC’
EXPORTING
I_CALLBACK_PROGRAM =SY-REPID
I_CALLBACK_USER_COMMAND=‘FRM_SET_COMMAND’
IS_LAYOUT_LVC =TH_LAYOUT
IT_FIELDCAT_LVC =TD_FIELDCAT
I_SAVE =‘A’
TABLES
T_OUTTAB =TD_OUTPUT
EXCEPTIONS
PROGRAM_ERROR =1
OTHERS =2.
IFSY-SUBRC<>0.
MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO
WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.
ENDIF.
ENDFORM. ”FRM_CALL_FUNCTION
*&———————————————————————*
*& Form FRM_EDIT_DATA
*&———————————————————————*
* text
*———————————————————————-*
* –> p1 text
* <– p2 text
*———————————————————————-*
FORMFRM_EDIT_DATA.
DATA:
LW_INDEXTYPESY-INDEX,
LW_MOD TYPEI.
LOOPATTD_SPFLIINTOTH_SPFLI.
LW_INDEX=SY-TABIX.
LW_MOD=LW_INDEXMOD3.
IFLW_MOD<>0.
TH_OUTPUT-ICON =ICON_TIME.
TH_OUTPUT-SYMBOL=SYM_LEFT_HAND.
ELSE.
TH_OUTPUT-ICON =ICON_COLOR.
TH_OUTPUT-SYMBOL=sym_folder.
ENDIF.
IFTH_SPFLI-COUNTRYTO=‘DE’.
PERFORMFRM_SET_ENABLEDUSING‘COUNTRYTO’.
PERFORMFRM_SET_ENABLEDUSING‘CITYTO’.
ENDIF.
IFTH_SPFLI-CONNID=‘2436′.
PERFORMFRM_SET_ENABLEDUSING‘COUNTRYFR’.
PERFORMFRM_SET_ENABLEDUSING‘CITYFROM’.
ENDIF.
IFTH_SPFLI-CARRID=‘SQ’.
PERFORMFRM_SET_DISABLEDUSING‘CARRID’.
ENDIF.
IFTH_SPFLI-CARRID=‘DL’.
PERFORMFRM_SET_ENABLEDUSING‘ICON’.
PERFORMFRM_SET_ENABLEDUSING‘SYMBOL’.
PERFORMFRM_SET_ENABLEDUSING‘CARRID’.
PERFORMFRM_SET_ENABLEDUSING‘CONNID’.
PERFORMFRM_SET_ENABLEDUSING‘COUNTRYFR’.
PERFORMFRM_SET_ENABLEDUSING‘COUNTRYTO’.
PERFORMFRM_SET_ENABLEDUSING‘CITYFROM‘.
PERFORMFRM_SET_ENABLEDUSING‘CITYTO’.
ENDIF.
MOVE-CORRESPONDINGTH_SPFLITOTH_OUTPUT.
TH_OUTPUT-STYLE[]=TD_STYLE[].
REFRESH:
TD_STYLE.
APPENDTH_OUTPUTTOTD_OUTPUT.
CLEAR:
LW_INDEX,
LW_MOD,
TH_OUTPUT.
ENDLOOP.
ENDFORM. ”FRM_EDIT_DATA
FORMFRM_SET_COMMANDUSINGr_ucommLIKEsy-ucomm
rs_selfieldTYPEslis_selfield.
CASEr_ucomm.
WHEN‘&IC1′.“双击事件
* READTABLEitabINTOwaINDEXrs_selfield-tabindex.
*
* SETPARAMETERID‘BLN’FIELDwa-belnr.
* SETPARAMETERID‘BUK’FIELDwa-bukrs.
* SETPARAMETERID‘GJR’FIELDwa-gjahr.
*
* CALLTRANSACTION‘FB03′ANDSKIPFIRSTSCREEN.
ENDCASE.
ENDFORM.
*&———————————————————————*
*& Form FRM_SET_ENABLED
*&———————————————————————*
* text
*———————————————————————-*
* –>P_0447 text
*———————————————————————-*
FORMFRM_SET_ENABLED USING I_NAME.
TH_STYLE-FIELDNAME=I_NAME.
TH_STYLE-STYLE=CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
“setfieldtodisabled
APPENDTH_STYLETOTD_STYLE.
CLEARTH_STYLE.
ENDFORM. ”FRM_SET_ENABLED
*&———————————————————————*
*& Form FRM_SET_DISABLED
*&———————————————————————*
* text
*———————————————————————-*
* –>I_NAME text
*———————————————————————-*
FORMFRM_SET_DISABLED USING I_NAME.
TH_STYLE-FIELDNAME=I_NAME.
TH_STYLE-STYLE=CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
“setfieldtodisabled
APPENDTH_STYLETOTD_STYLE.
CLEARTH_STYLE.
ENDFORM. ”FRM_SET_DISABLED
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- alv 单元格 控制