[SAP][ABAP] 关于用FUNCTION实现ALV中选择多列的实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[SAP][ABAP] 关于用FUNCTION实现ALV中选择多列的实现相关的知识,希望对你有一定的参考价值。
小弟最近在学习ABAP编程,目前在学习ALV部分,我想在ALV的标准菜单上加上自己的排序按钮,当然我用的是FUNCTION显示的ALV Grid。 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING * I_INTERFACE_CHECK = ' ' * I_BYPASSING_BUFFER = ' ' * I_BUFFER_ACTIVE = ' ' I_CALLBACK_PROGRAM = sy-repid "sy-repid表示当前程序,打印表头必备 * I_CALLBACK_TOP_OF_PAGE = I_CALLBACK_html_TOP_OF_PAGE = 'HTML_TOP_OF_PAGE' "表头的HTML形成于HTML_TOP_OF_PAGE这个FORM中 I_CALLBACK_PF_STATUS_SET = CNS_PF_STATUS I_CALLBACK_USER_COMMAND = CNS_USER_COMMAND * I_CALLBACK_HTML_END_OF_LIST = ' ' * I_STRUCTURE_NAME = * I_BACKGROUND_ID = ' ' * I_GRID_TITLE = * I_GRID_SETTINGS = IS_LAYOUT = wa_layout IT_FIELDCAT = it_FIELDCATALOG * IT_EXCLUDING = * IT_SPECIAL_GROUPS = * IT_SORT = * IT_FILTER = * IS_SEL_HIDE = * I_DEFAULT = 'X' * I_SAVE = 'A ' * IS_VARIANT = * IT_EVENTS = * IT_EVENT_EXIT = * IS_PRINT = * IS_REPREP_ID = * I_SCREEN_START_COLUMN = 0 * I_SCREEN_START_LINE = 0 * I_SCREEN_END_COLUMN = 0 * I_SCREEN_END_LINE = 0 * I_HTML_HEIGHT_TOP = 25 * I_HTML_HEIGHT_END = 0 * IT_ALV_GRAPHICS = * IT_HYPERLINK = * IT_ADD_FIELDCAT = * IT_EXCEPT_QINFO = * IR_SALV_FULLSCREEN_ADAPTER = * IMPORTING * E_EXIT_CAUSED_BY_CALLER = * ES_EXIT_CAUSED_BY_USER = TABLES T_OUTTAB = it_sflight * EXCEPTIONS * PROGRAM_ERROR = 1 * OTHERS = 2 . 问题出在如何选择多列上,现在我只能做到选择单列,用的是SLIS_SELFIELD-FIELDNAME返回列的字段名称后进行处理,但是如何做到选择多行呢? Any word will help,thx~!
参考技术A FM'REUSE_ALV_GRID_DISPLAY'的关于这个功能的设置没有找到,但是如果你想要这个功能的话,可以试一试OOALV。
CL_GUI_ALV_GRID=>SET_TABLE_FOR_FIRST_DISPLAY的IMPORT
PARAMETER
IS_LAYOUT-SEL_MODE.
A:行或列选择
B:单一选择
C:多条选择
D:单元格选择
以上是关于[SAP][ABAP] 关于用FUNCTION实现ALV中选择多列的实现的主要内容,如果未能解决你的问题,请参考以下文章
关于SAP ABAP字符变量和字符串变量字符个数的一个知识点,和一个血案