当前位置:编程学习 > C#/ASP.NET >>

ABAP ALV 单击时如何获取行号(或者说获取数据)

举例:屏幕9010为ALV列表,有两列数据,物料号和物料名称,还有个自定义的变更按钮,屏幕9020为物料的详细信息,有物料号、物料名称、重量、体积、库存数量等信息。现在需要在9010上单击某行数据,再点击变更按钮,根据物料号获取详细数据,跳转到9020对数据进行变更。 问题:我现在单击某行获取到的总是ALV列表最后一行的数据,我要怎么获取到ALV的行号呢,或者说我要怎么获取到单击行的物料号呢?
追问:u_selfield 这个是什么
其他:CALL METHOD GS_ALV->GET_SELECTED_ROWS
    IMPORTING
      ET_INDEX_ROWS = GT_ROW
      ET_ROW_NO     = GT_TYP.
这是class alv上获取选中行的方法   请参考 谢谢 我假设你用的是FM:REUSE_ALV_GRID_DISPLAY这个功能模块.在调用的时候有个参数:
i_callback_user_command , 这个参数你要传入一个FORM, 假如你的form叫做:USER_COMMAND.

那么在你定义这个form的时候,他的传入传出参数是一定的:
FORM user_command USING u_ucomm LIKE sy-ucomm 
                                               u_selfield TYPE slis_selfield.

ENDFOR.

其中u_selfield这个参数在你双击之后回传进来你双击的条目的行号,用这个在内表里就能定位双击的条目对应的内表数据了. 

上一个:用多个母板页l来控制登录的权限怎么做?asp.net
下一个:ReportViewer+rdlc报表数据源能不能绑定返回dataset方法,若能,怎么绑定

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,