alv中的style

来源:互联网 发布:人工智能:伏羲觉醒 编辑:程序博客网 时间:2024/06/10 01:02

在开发alv的程序中,我们往往引入style,ie. INCLUDE <cl_alv_control> 

在<cl_alv_control>中定义了许多的常量,用来设置alv单元格的格式,field catelog有4个field, tyle, tyle1, tyle2, tyle3, tyle4

以下是<cl_alv_control>的所有常量,不难看出field catelog中的那4个field的用处

***INCLUDE <CL_ALV_CONTROL> .
constants:
* Style 1
 alv_style_color_background(4)                  type value '00000001',
 alv_style_color_heading(4)                     type value '00000002',
 alv_style_color_normal(4)                      type value '00000003',
 alv_style_color_total(4)                       type value '00000004',
 alv_style_color_key(4)                         type value '00000005',
 alv_style_color_positive(4)                    type value '00000006',
 alv_style_color_negative(4)                    type value '00000007',
 alv_style_color_group(4)                       type value '00000008',
 alv_style_color_int_background(4)              type value '00000009',
 alv_style_color_int_heading(4)                 type value '0000000A',
 alv_style_color_int_normal(4)                  type value '0000000B',
 alv_style_color_int_total(4)                   type value '0000000C',
 alv_style_color_int_key(4)                     type value '0000000D',
 alv_style_color_int_positive(4)                type value '0000000E',
 alv_style_color_int_negative(4)                type value '0000000F',
 alv_style_color_int_group(4)                   type value '00000010',
 alv_style_color_inv_background(4)              type value '00000011',
 alv_style_color_inv_heading(4)                 type value '00000012',
 alv_style_color_inv_normal(4)                  type value '00000013',
 alv_style_color_inv_total(4)                   type value '00000014',
 alv_style_color_inv_key(4)                     type value '00000015',
 alv_style_color_inv_positive(4)                type value '00000016',
 alv_style_color_inv_negative(4)                type value '00000017',
 alv_style_color_inv_group(4)                   type value '00000018',

 alv_style_font_bold(4)                         type value '00000020',
 alv_style_font_bold_no(4)                      type value '00000040',

 alv_style_font_italic(4)                       type value '00000080',
 alv_style_font_italic_no(4)                    type value '00000100',

 alv_style_font_underlined(4)                   type value '00000200',
 alv_style_font_underlined_no(4)                type value '00000400',

 alv_style_align_left_top(4)                    type value '00000800',
 alv_style_align_center_top(4)                  type value '00001000',
 alv_style_align_right_top(4)                   type value '00001800',
 alv_style_align_left_center(4)                 type value '00002000',
 alv_style_align_center_center(4)               type value '00002800',
 alv_style_align_right_center(4)                type value '00003000',
 alv_style_align_left_bottom(4)                 type value '00003800',
 alv_style_align_center_bottom(4)               type value '00004000',
 alv_style_align_right_bottom(4)                type value '00004800',

 alv_style_font_symbol(4)                       type value '00008000',
 alv_style_font_symbol_no(4)                    type value '00010000',

 alv_style_checkbox_not_checked(4)              type value '00020000',
 alv_style_checkbox_checked(4)                  type value '00040000',
 alv_style_checkbox_no(4)                       type value '00060000',

 alv_style_enabled(4)                           type value '00080000',
 alv_style_disabled(4)                          type value '00100000',

 alv_style_single_clk_event(4)                  type value '00200000',
 alv_style_single_clk_event_no(4)               type value '00400000',

 alv_style_radio_not_checked(4)                 type value '00800000',
 alv_style_radio_checked(4)                     type value '01000000',
 alv_style_radio_no(4)                          type value '01800000',

 alv_style_f4(4)                                type value '02000000',
 alv_style_f4_no(4)                             type value '04000000',

 alv_style_image(4)                             type value '08000000',

 alv_style_no_delete_row(4)                     type value '10000000',

 alv_style_button(4)                            type value '20000000',
 alv_style_button_no(4)                         type value '40000000',


* Style 2
 alv_style2_no_border_left(4)                   type value '00010000',
 alv_style2_no_border_right(4)                  type value '00020000',
 alv_style2_no_border_top(4)                    type value '00040000',
 alv_style2_no_border_bottom(4)                 type value '00080000',

* Style 3 ( WEBSTYLES ).


* Style 4
 alv_style4_zebra_row(4)                        type value '00000001',
 alv_style4_stop_merge(4)                       type value '00000002',

 alv_style4_link(4)                             type value '00000004',
 alv_style4_link_no(4)                          type value '00000008',


* Column Styles
alv_col_style_sort_up(4)                        type value '00000001',
alv_col_style_sort_down(4)                      type value '00000002',
alv_col_style_filter(4)                         type value '00000004',
alv_col_style_total(4)                          type value '00000008',
alv_col_style_subtotal(4)                       type value '00000010',
alv_col_style_characteristic(4)                 type value '00000020',
alv_col_style_keyfigure(4)                      type value '00000040',
alv_col_style_key(4)                            type value '00000080',
alv_col_style_exception(4)                      type value '00000100',
alv_col_style_signed_keyfigure(4)               type value '00000200',
alv_col_style_merge(4)                          type value '00000400',
alv_col_style_fixed(4)                          type value '00000800',
alv_col_style_auto_value(4)                     type value '00001000',
alv_col_style_no_disp(4)                        type value '00002000',
alv_col_style_hasref(4)                         type value '00004000',
alv_col_style_average(4)                        type value '00008000',
alv_col_style_min(4)                            type value '00010000',
alv_col_style_max(4)                            type value '00020000'.

 

 

 

 

以下程序演示了在alv中如何显示粗体字

主程序:

include <cl_alv_control>.
TABLES sflight.
DATAok_code TYPE sy-ucomm.
DATAgo_container TYPE REF TO cl_gui_custom_container.

DATAgs_sflight TYPE sflight.
DATAgt_sflight TYPE STANDARD TABLE OF sflight.

DATAgs_field_cat TYPE lvc_s_fcat.
DATAgt_field_cat TYPE lvc_t_fcat.

DATAgs_sort TYPE lvc_s_sort.
DATAgt_sort TYPE lvc_t_sort.
DATAgo_alv_control TYPE REF TO cl_gui_alv_grid.

START-OF-SELECTION.
  PERFORM sub_retrieve_data.
  PERFORM sub_build_itabs.
  CALL SCREEN 9100.


*&---------------------------------------------------------------------*
*&      Module  STATUS_9100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_9100 OUTPUT.
  SET PF-STATUS 'STATUS9100'.
*  SET TITLEBAR 'xxx'.

ENDMODULE.                 " STATUS_9100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_9100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_9100 INPUT.
  CASE ok_code.
    WHEN 'BACK' OR 'EXIT' OR 'CANC'.
      CALL METHOD go_alv_control->free.
      CALL METHOD go_container->free.
      LEAVE PROGRAM.
    WHEN OTHERS.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_9100  INPUT
*&---------------------------------------------------------------------*
*&      Module  SHOW_ALV_TREE  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE show_alv OUTPUT.
  IF go_container IS INITIAL.
    CREATE OBJECT go_container
      EXPORTING
        container_name 'GO_CONTAINER'.

    CREATE OBJECT go_alv_control
      EXPORTING
        i_parent go_container.

    CALL METHOD go_alv_control->set_table_for_first_display
      CHANGING
        it_outtab       gt_sflight
        it_fieldcatalog gt_field_cat
        it_sort         gt_sort.

  ENDIF.
ENDMODULE.                 " SHOW_ALV_TREE  OUTPUT
*&---------------------------------------------------------------------*
*&      Form  SUB_RETRIEVE_DATA
*&---------------------------------------------------------------------*
*       Retrieve data from database
*----------------------------------------------------------------------*
FORM sub_retrieve_data .
  SELECT *
    INTO TABLE gt_sflight
    FROM sflight.
ENDFORM.                    " SUB_RETRIEVE_DATA
*&---------------------------------------------------------------------*
*&      Form  SUB_BUILD_ITABS
*&---------------------------------------------------------------------*
*   Build field catelogs and sorted table
*----------------------------------------------------------------------*
FORM sub_build_itabs .

*   Build fieldcat
  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
      i_structure_name 'SFLIGHT'
    CHANGING
      ct_fieldcat      gt_field_cat.


  CLEAR gs_field_cat.
  gs_field_cat-do_sum 'X'.
  gs_field_cat-style alv_style_font_bold.
  gs_field_cat-style4 alv_style4_zebra_row.
  MODIFY gt_field_cat FROM gs_field_cat
                      TRANSPORTING do_sum style style2 style3 style4
                      WHERE fieldname 'PRICE'
                      OR fieldname 'PAYMENTSUM'.

  gs_sort-spos 1.
  gs_sort-fieldname 'CARRID'.
  gs_sort-up 'X'.
  APPEND gs_sort TO gt_sort.

  gs_sort-spos 2.
  gs_sort-fieldname 'CONNID'.
  gs_sort-up 'X'.
  APPEND gs_sort TO gt_sort.
ENDFORM.                    " SUB_BUILD_ITABS

 

屏幕9100代码:

PROCESS BEFORE OUTPUT.
  MODULE status_9100.
  MODULE show_alv.

PROCESS AFTER INPUT.
  MODULE user_command_9100.

原创粉丝点击