【黑科技】在alv中設定字型樣式
阿新 • • 發佈:2019-01-26
使用Function Module:REUSE_ALV_GRID_DISPLAY_LVC ,設定alv中字型樣式 程式程式碼: |
* Include for all style values INCLUDE <cl_alv_control>. * Internal table for final output data DATA: i_flight TYPE STANDARD TABLE OF sflight. * Internal table for field catalog info DATA: i_fields TYPE lvc_t_fcat. * Field symbol for field catalog FIELD-SYMBOLS: <wa_fields> TYPE lvc_s_fcat. * Select data SELECT * FROM sflight INTO TABLE i_flight UP TO 100 ROWS. IF sy-subrc = 0. * Get field catalog CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING i_structure_name = 'SFLIGHT' CHANGING ct_fieldcat = i_fields EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3. IF sy-subrc = 0. * Changing the style of field catalog LOOP AT i_fields ASSIGNING <wa_fields>. IF sy-tabix > 4. <wa_fields>-style = alv_style_font_italic. ELSE. <wa_fields>-style = alv_style_font_bold. ENDIF. ENDLOOP. ENDIF. * Calling the FM to display ALV report CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING i_structure_name = 'SFLIGHT' i_grid_title = 'Style demo'(001) it_fieldcat_lvc = i_fields TABLES t_outtab = i_flight EXCEPTIONS program_error = 1 OTHERS = 2. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDIF.
執行效果:
INCLUDE
<cl_alv_control>的說明:裡面有好多ALV佈局的屬性,中文意思跟英文單詞意思同樣理解
下面是lav_lvc的樣式
CONSTANTS: * Style 1 ALV_STYLE_COLOR_BACKGROUND(4) TYPE X VALUE '00000001', ALV_STYLE_COLOR_HEADING(4) TYPE X VALUE '00000002', ALV_STYLE_COLOR_NORMAL(4) TYPE X VALUE '00000003', ALV_STYLE_COLOR_TOTAL(4) TYPE X VALUE '00000004', ALV_STYLE_COLOR_KEY(4) TYPE X VALUE '00000005', ALV_STYLE_COLOR_POSITIVE(4) TYPE X VALUE '00000006', ALV_STYLE_COLOR_NEGATIVE(4) TYPE X VALUE '00000007', ALV_STYLE_COLOR_GROUP(4) TYPE X VALUE '00000008', ALV_STYLE_COLOR_INT_BACKGROUND(4) TYPE X VALUE '00000009', ALV_STYLE_COLOR_INT_HEADING(4) TYPE X VALUE '0000000A', ALV_STYLE_COLOR_INT_NORMAL(4) TYPE X VALUE '0000000B', ALV_STYLE_COLOR_INT_TOTAL(4) TYPE X VALUE '0000000C', ALV_STYLE_COLOR_INT_KEY(4) TYPE X VALUE '0000000D', ALV_STYLE_COLOR_INT_POSITIVE(4) TYPE X VALUE '0000000E', ALV_STYLE_COLOR_INT_NEGATIVE(4) TYPE X VALUE '0000000F', ALV_STYLE_COLOR_INT_GROUP(4) TYPE X VALUE '00000010', ALV_STYLE_COLOR_INV_BACKGROUND(4) TYPE X VALUE '00000011', ALV_STYLE_COLOR_INV_HEADING(4) TYPE X VALUE '00000012', ALV_STYLE_COLOR_INV_NORMAL(4) TYPE X VALUE '00000013', ALV_STYLE_COLOR_INV_TOTAL(4) TYPE X VALUE '00000014', ALV_STYLE_COLOR_INV_KEY(4) TYPE X VALUE '00000015', ALV_STYLE_COLOR_INV_POSITIVE(4) TYPE X VALUE '00000016', ALV_STYLE_COLOR_INV_NEGATIVE(4) TYPE X VALUE '00000017', ALV_STYLE_COLOR_INV_GROUP(4) TYPE X VALUE '00000018', ALV_STYLE_FONT_BOLD(4) TYPE X VALUE '00000020', ALV_STYLE_FONT_BOLD_NO(4) TYPE X VALUE '00000040', ALV_STYLE_FONT_ITALIC(4) TYPE X VALUE '00000080', ALV_STYLE_FONT_ITALIC_NO(4) TYPE X VALUE '00000100', ALV_STYLE_FONT_UNDERLINED(4) TYPE X VALUE '00000200', ALV_STYLE_FONT_UNDERLINED_NO(4) TYPE X VALUE '00000400', ALV_STYLE_ALIGN_LEFT_TOP(4) TYPE X VALUE '00000800', ALV_STYLE_ALIGN_CENTER_TOP(4) TYPE X VALUE '00001000', ALV_STYLE_ALIGN_RIGHT_TOP(4) TYPE X VALUE '00001800', ALV_STYLE_ALIGN_LEFT_CENTER(4) TYPE X VALUE '00002000', ALV_STYLE_ALIGN_CENTER_CENTER(4) TYPE X VALUE '00002800', ALV_STYLE_ALIGN_RIGHT_CENTER(4) TYPE X VALUE '00003000', ALV_STYLE_ALIGN_LEFT_BOTTOM(4) TYPE X VALUE '00003800', ALV_STYLE_ALIGN_CENTER_BOTTOM(4) TYPE X VALUE '00004000', ALV_STYLE_ALIGN_RIGHT_BOTTOM(4) TYPE X VALUE '00004800', ALV_STYLE_FONT_SYMBOL(4) TYPE X VALUE '00008000', ALV_STYLE_FONT_SYMBOL_NO(4) TYPE X VALUE '00010000', ALV_STYLE_CHECKBOX_NOT_CHECKED(4) TYPE X VALUE '00020000', ALV_STYLE_CHECKBOX_CHECKED(4) TYPE X VALUE '00040000', ALV_STYLE_CHECKBOX_NO(4) TYPE X VALUE '00060000', ALV_STYLE_ENABLED(4) TYPE X VALUE '00080000', ALV_STYLE_DISABLED(4) TYPE X VALUE '00100000', ALV_STYLE_SINGLE_CLK_EVENT(4) TYPE X VALUE '00200000', ALV_STYLE_SINGLE_CLK_EVENT_NO(4) TYPE X VALUE '00400000', ALV_STYLE_RADIO_NOT_CHECKED(4) TYPE X VALUE '00800000', ALV_STYLE_RADIO_CHECKED(4) TYPE X VALUE '01000000', ALV_STYLE_RADIO_NO(4) TYPE X VALUE '01800000', ALV_STYLE_F4(4) TYPE X VALUE '02000000', ALV_STYLE_F4_NO(4) TYPE X VALUE '04000000', ALV_STYLE_IMAGE(4) TYPE X VALUE '08000000', ALV_STYLE_NO_DELETE_ROW(4) TYPE X VALUE '10000000', ALV_STYLE_BUTTON(4) TYPE X VALUE '20000000', ALV_STYLE_BUTTON_NO(4) TYPE X VALUE '40000000', * Style 2 ALV_STYLE2_NO_BORDER_LEFT(4) TYPE X VALUE '00010000', ALV_STYLE2_NO_BORDER_RIGHT(4) TYPE X VALUE '00020000', ALV_STYLE2_NO_BORDER_TOP(4) TYPE X VALUE '00040000', ALV_STYLE2_NO_BORDER_BOTTOM(4) TYPE X VALUE '00080000', * Style 3 ( WEBSTYLES ). * Style 4 ALV_STYLE4_ZEBRA_ROW(4) TYPE X VALUE '00000001', ALV_STYLE4_STOP_MERGE(4) TYPE X VALUE '00000002', ALV_STYLE4_LINK(4) TYPE X VALUE '00000004', ALV_STYLE4_LINK_NO(4) TYPE X VALUE '00000008', * Column Styles ALV_COL_STYLE_SORT_UP(4) TYPE X VALUE '00000001', ALV_COL_STYLE_SORT_DOWN(4) TYPE X VALUE '00000002', ALV_COL_STYLE_FILTER(4) TYPE X VALUE '00000004', ALV_COL_STYLE_TOTAL(4) TYPE X VALUE '00000008', ALV_COL_STYLE_SUBTOTAL(4) TYPE X VALUE '00000010', ALV_COL_STYLE_CHARACTERISTIC(4) TYPE X VALUE '00000020', ALV_COL_STYLE_KEYFIGURE(4) TYPE X VALUE '00000040', ALV_COL_STYLE_KEY(4) TYPE X VALUE '00000080', ALV_COL_STYLE_EXCEPTION(4) TYPE X VALUE '00000100', ALV_COL_STYLE_SIGNED_KEYFIGURE(4) TYPE X VALUE '00000200', ALV_COL_STYLE_MERGE(4) TYPE X VALUE '00000400', ALV_COL_STYLE_FIXED(4) TYPE X VALUE '00000800', ALV_COL_STYLE_AUTO_VALUE(4) TYPE X VALUE '00001000', ALV_COL_STYLE_NO_DISP(4) TYPE X VALUE '00002000', ALV_COL_STYLE_HASREF(4) TYPE X VALUE '00004000', ALV_COL_STYLE_AVERAGE(4) TYPE X VALUE '00008000', ALV_COL_STYLE_MIN(4) TYPE X VALUE '00010000', ALV_COL_STYLE_MAX(4) TYPE X VALUE '00020000'.