FunctionModel调用ALV时,自定义工…

FunctionModel调用ALV时,自定义工具条,响应用户操作:

首先创建一个status
FunctionModel调用ALV时,自定义工具条,响应用户操作

FunctionModel调用ALV时,自定义工具条,响应用户操作


  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
    I_INTERFACE_CHECK                 '
    I_BYPASSING_BUFFER                '
    I_BUFFER_ACTIVE                   '
      i_callback_program                sy-repid                      "当前程序——这个是必需的,如果没有这个,就不能响应事件了
     i_callback_pf_status_set          'ZFORM_SET_PF_STATUS'          "自定义的alv工具条
     i_callback_user_command           'ALV_USER_COMMAND'             "自定义按键处理


这里ZFORM_SET_PF_STATUS  ALV_USER_COMMAND
都是form
FORM zform_set_pf_status USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'ZSTATUS_CREATE' .                                  "最开始创建的status
ENDFORM                   "zform_set_PF_STATUS

*2)注册(设置)ALV的事件响应过程。
"定义ALV事件响应子例程
*&---------------------------------------------------------------------*
*&      Form  alv_user_command
*&---------------------------------------------------------------------*
      text 响应双击,获取信息
*----------------------------------------------------------------------*

FORM  alv_user_command USING  r_ucomm LIKE  sy-ucomm
      rs_selfield TYPE  slis_selfield.

"如果想响应双击等,获取选中的数据
"READ TABLE ALV内表 INDEX rs_selfield-tabindex INTO l_wa. 

  CASE  r_ucomm                                                       "用户操作
      "创建
    WHEN 'CREATE'.
    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
    WHEN 'LEAVE'.
      LEAVE PROGRAM.

  ENDCASE .
ENDFORM                    "ALV_USER_COMMAND

这样就完成了自定义工具条的操作

如果想利用标准的 可以到Function group: slvc_fullscreen中去找
FunctionModel调用ALV时,自定义工具条,响应用户操作

posted @ 2014-01-22 09:18  胡来  阅读(118)  评论(0编辑  收藏  举报