ABAP--如何将REUSE_ALV_GRID_DISPLAY的题头自适应居中显示
REUSE_ALV_GRID_DISPLAY的題頭原理和機制
SAP的REUSE_ALV_GRID_DISPLAY的題頭實際上一個簡易的HTML瀏覽控件的封裝調(diào)用,你在服務(wù)器用cl_dd_document類的add_text方法增加的文本,SAP都會翻譯成HTML語言,再發(fā)送給客戶端解釋展現(xiàn)。
cl_dd_document類的add_text方法都會先進行HTML翻譯,再調(diào)用cl_dd_document類的html_insert將真正的HTML元素添加到內(nèi)表。因此,我們就何以通過cl_dd_document類的html_insert將特殊的HTML寫到對應(yīng)內(nèi)表,實現(xiàn)特殊的現(xiàn)實效果。我想原理分到到這大家都清楚,REUSE_ALV_GRID_DISPLAY的題頭不但可以實現(xiàn)居中,還可以實現(xiàn)HTML的各種效果。
備注:REUSE_ALV_GRID_DISPLAY的腳注標(biāo)題也一樣可以實現(xiàn)各種樣式
代碼樣例:(注意紅色部分代碼)
REPORT ZTEST4.
TABLES : t001.
TYPE-POOLS: slis.
DATA : w_repid LIKE sy-repid.
TYPES : BEGIN OF ty_comp.
INCLUDE STRUCTURE t001.
TYPES : END OF ty_comp.
DATA: wa_layout TYPE slis_layout_alv.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
DATA : it_comp TYPE TABLE OF ty_comp.
INITIALIZATION.
w_repid = sy-repid.
START-OF-SELECTION.
SELECT * FROM t001 INTO TABLE it_comp.
END-OF-SELECTION.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = w_repid
i_internal_tabname = 'IT_COMP'
I_STRUCTURE_NAME = 'T001'
i_inclname = w_repid
CHANGING
ct_fieldcat = it_fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = w_repid
i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE'
is_layout = wa_layout
it_fieldcat = it_fieldcat
i_html_height_top = 10
TABLES
t_outtab = it_comp
EXCEPTIONS
program_error = 1
OTHERS = 2.
*&---------------------------------------------------------------------*
*& Form html_top_of_page
*&---------------------------------------------------------------------*
FORM html_top_of_page USING document TYPE REF TO cl_dd_document.
DATA: text TYPE sdydo_text_element.
DATA: position TYPE i.
SEARCH document->html_table FOR document->cursor.
IF sy-subrc eq 0.
position = sy-tabix.
CALL METHOD document->html_insert
EXPORTING
contents = '<div class=MsoNormal align=center style="text-align:center"> '
CHANGING
position = position.
CALL METHOD document->html_insert
EXPORTING
contents = '<span align="center" style=" font-weight:bold;">Test Company Code Data</span> </DIV>'
CHANGING
position = position.
ENDIF.
CALL METHOD document->new_line.
CALL METHOD document->new_line.
text = 'User Name : '.
CALL METHOD document->add_text
EXPORTING
text = text
sap_emphasis = 'Strong'.
CALL METHOD document->add_gap
EXPORTING
width = 2.
text = sy-uname.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'Key'.
CALL METHOD document->add_gap
EXPORTING
width = 10.
CALL METHOD document->add_icon
exporting
sap_icon = 'ICON_DATE'.
text = 'Date : '.
CALL METHOD document->add_text
EXPORTING
text = text
sap_emphasis = 'Strong'.
CALL METHOD document->add_gap
EXPORTING
width = 2.
text = sy-datum.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'Key'.
CALL METHOD document->add_gap
EXPORTING
width = 10.
text = 'Time : '.
CALL METHOD document->add_text
EXPORTING
text = text
sap_emphasis = 'Strong'.
CALL METHOD document->add_gap
EXPORTING
width = 2.
text = sy-uzeit.
CALL METHOD document->add_text
EXPORTING
text = text
sap_style = 'Key'.
CALL METHOD document->new_line.
CALL METHOD document->underline. "Draw an underLine
ENDFORM. "HTML_TOP_OF_PAGE
總結(jié)
以上是生活随笔為你收集整理的ABAP--如何将REUSE_ALV_GRID_DISPLAY的题头自适应居中显示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP日期函数(求月末日,第几周,se
- 下一篇: ABAP之Screen