📄 zfir0020_alv_class.html
字号:
endmethod. "lcl_event_receiver
<font color ="#0000FF">*-------------------------------------------------------------------</font>
method handle_menu_button.
"××××××××××××××××加子菜单
endmethod. "handle_menu_button
<font color ="#0000FF">*-------------------------------------------------------------------</font>
method handle_data_changed. "用于双击和回车
"×××××××××××××××数据改变时触发
endmethod. "handle_data_changed
method handle_hotspot_click.
endmethod. "handle_HOTSPOT_CLICK
endclass. "lcl_ALV_event_receiver
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*& Module STATUS_0100 OUTPUT</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">* text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS '100'.
SET TITLEBAR '100'.
ENDMODULE. " STATUS_0100 OUTPUT
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*& Module init_control OUTPUT</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">* text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
MODULE init_control OUTPUT.
IF g_container IS INITIAL.
<font color ="#0000FF">*OBJECT</font>
CREATE OBJECT g_alv_application.
<font color ="#0000FF">*创建容器对象</font>
CREATE OBJECT g_container
EXPORTING container_name = 'ALV'.
<font color ="#0000FF">*定义ALV</font>
PERFORM alv_get.
ENDIF.
ENDMODULE. " init_control OUTPUT
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*& Form alv_get</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">* text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
<font color ="#0000FF">* --> p1 text</font>
<font color ="#0000FF">* <-- p2 text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
FORM alv_get .
<font color ="#0000FF">*构建ALV</font>
CREATE OBJECT g_alv_grid
EXPORTING i_parent = g_container.
<font color ="#0000FF">**构建ALV初始化</font>
REFRESH:it_fieldcat.
CLEAR:it_fieldcat.
is_layout-sel_mode = 'A'.
is_layout-zebra = 'X'. "隔开行换颜色
<font color ="#0000FF">* x_save = 'A'. "The user may save all types of a layout</font>
<font color ="#0000FF">* x_save = 'X'. "a layout can only be saved as spanned one ('global')</font>
<font color ="#0000FF">* x_save = space. "no saving of a layout possible!</font>
<font color ="#0000FF">* x_save = 'U'. "a layout can only be saved as user specific one</font>
x_save = 'U'. "保存变式
CLEAR ls_layout.
ls_layout-report = sy-repid.
<font color ="#0000FF">**</font>
<font color ="#0000FF">*构造结构</font>
PERFORM alv_field_tab CHANGING it_fieldcat.
<font color ="#0000FF">***小计设置</font>
<font color ="#0000FF">* DATA:IT_SORT TYPE LVC_T_SORT .</font>
<font color ="#0000FF">* DATA:WA_SORT TYPE LVC_S_SORT.</font>
<font color ="#0000FF">* WA_SORT-FIELDNAME = 'ZNUMBER' .</font>
<font color ="#0000FF">* WA_SORT-SUBTOT = 'X'.</font>
<font color ="#0000FF">* WA_SORT-UP = 'X'.</font>
<font color ="#0000FF">* APPEND WA_SORT TO IT_SORT.</font>
CALL METHOD g_alv_grid->set_table_for_first_display
EXPORTING
i_save = x_save
is_variant = ls_layout
is_layout = is_layout
CHANGING
<font color ="#0000FF">* IT_SORT = IT_SORT</font>
it_fieldcatalog = it_fieldcat
it_outtab = it_DATA[].
<font color ="#0000FF">**设置TOOLBAR</font>
SET HANDLER g_alv_application->handle_toolbar FOR g_alv_grid.
CALL METHOD g_alv_grid->set_toolbar_interactive.
<font color ="#0000FF">*单元格双击</font>
SET HANDLER g_alv_application->handle_double FOR g_alv_grid.
<font color ="#0000FF">*处理菜单事件</font>
SET HANDLER g_alv_application->handle_user_command FOR g_alv_grid.
<font color ="#0000FF">*定义CONTXT菜单</font>
SET HANDLER g_alv_application->handle_menu_button FOR g_alv_grid.
SET HANDLER g_alv_application->handle_data_changed FOR g_alv_grid.
SET HANDLER g_alv_application->handle_hotspot_click FOR g_alv_grid.
<font color ="#0000FF">**</font>
<font color ="#0000FF">*定义事件‘ENTER’ “触发数据改变HANDLE_DATA_CHANGED</font>
CALL METHOD g_alv_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
ENDFORM. " ALV_GET
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*& Form alv_field_tab</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">* text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
<font color ="#0000FF">* <--P_IT_FIELDCAT text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
FORM alv_field_tab CHANGING it_fields TYPE lvc_t_fcat.
<font color ="#0000FF">*LVC_T_FCAT是一个数据库表,可以进去看</font>
DATA: wa_fields LIKE lvc_s_fcat.
REFRESH it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'DL'.
wa_fields-scrtext_l = '下载'.
wa_fields-OUTPUTLEN = 5.
wa_fields-edit = 'X'.
wa_fields-checkbox = 'X'.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'BSTNK'.
wa_fields-scrtext_l = '销售合同号'.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'VBELN'.
wa_fields-scrtext_l = '发票凭证'.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'D_PLACE'.
wa_fields-scrtext_l = '1正常/2作废'.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'FKART'.
wa_fields-scrtext_l = '开票类型'.
wa_fields-OUTPUTLEN = 7.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'VKORG'.
wa_fields-scrtext_l = '销售组织'.
wa_fields-OUTPUTLEN = 7.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'VTWEG'.
wa_fields-scrtext_l = '分销渠道'.
wa_fields-OUTPUTLEN = 7.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'KUNRG'.
wa_fields-scrtext_l = '付款方'.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'NAME1'.
wa_fields-scrtext_l = '付款方名称'.
wa_fields-OUTPUTLEN = 10.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'FKDAT'.
wa_fields-OUTPUTLEN = 10.
wa_fields-scrtext_l = '出具发票日期'.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'FKIMG'.
wa_fields-scrtext_l = '数量'.
wa_fields-OUTPUTLEN = 13.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'NETWR'.
wa_fields-scrtext_l = '金额'.
wa_fields-OUTPUTLEN = 13.
APPEND wa_fields TO it_fields.
CLEAR wa_fields.
wa_fields-fieldname = 'MWSBP'.
wa_fields-scrtext_l = '税'.
wa_fields-OUTPUTLEN = 13.
APPEND wa_fields TO it_fields.
ENDFORM. " alv_get
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">*& Module USER_COMMAND_0100 INPUT</font>
<font color ="#0000FF">*&---------------------------------------------------------------------*</font>
<font color ="#0000FF">* text</font>
<font color ="#0000FF">*----------------------------------------------------------------------*</font>
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN: 'BACK' OR 'EXIT' OR 'CANCEL'.
LEAVE TO SCREEN 0 .
ENDCASE.
CLEAR sy-ucomm.
ENDMODULE. " USER_COMMAND_0100 INPUT
</pre>
<hr>
<font size="2" face = "Sans Serif">Extracted by Direct Download Enterprise version 1.3.1 - E.G.Mellodew. 1998-2005 UK. Sap Release 700
</font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -