[SAP][ABAP] 关于用FUNCTION实现ALV中选择多列的实现

小弟最近在学习ABAP编程,目前在学习ALV部分,我想在ALV的标准菜单上加上自己的排序按钮,当然我用的是FUNCTION显示的ALVGrid。CALLFUNCTION'... 小弟最近在学习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~!
谢谢各位的回答,目前的问题在于我可以多选列,但是如何得到选定列的信息(如字段名字)呢?

PS:单选列我也可以做到,问题在于多选!!!
展开
 我来答
neutc
2011-03-28 · TA获得超过683个赞
知道小有建树答主
回答量:428
采纳率:100%
帮助的人:466万
展开全部
FM'REUSE_ALV_GRID_DISPLAY'的关于这个功能的设置没有找到,但是如果你想要这个功能的话,可以试一试OO ALV。
CL_GUI_ALV_GRID=>SET_TABLE_FOR_FIRST_DISPLAY的IMPORT PARAMETER IS_LAYOUT-SEL_MODE.
A:行或列选择
B:单一选择
C:多条选择
D:单元格选择
更多追问追答
追问
(oo)有个事件CL_GUI_ALV_GRID=>get_select_cols是专门用来抓列的... 我已经找到了..
但看着SAP自身带的标准菜单栏可以实现多列排序,于是我想也想自己试下
追答
多列的选择不需要特别设定阿,按住ctrl就可以选择多列了。
wrrybo5221
2011-04-02
知道答主
回答量:23
采纳率:0%
帮助的人:20.6万
展开全部
ALV(OO)是可以做到的,用这种普通的,应该没办法做到这步的。首先要捕获事件的。
追问
标准菜单上有这个按钮儿的嘛...
我想自己也可以做到的吧~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Britney_do
2011-03-25 · 超过31用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:55.2万
展开全部
在你的it_FIELDCATALOG中第一个字段,设一个checkbox试试
追问
这样是多选行的啊...我想要多选列...~
追答
ctrl呢,可以吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu15841822
2011-03-26
知道答主
回答量:26
采纳率:0%
帮助的人:4.3万
展开全部
IS_LAYOUT 里面有个参数sel_mode你试试看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式