最近有个网友的用户需要将REUSE_ALV_GRID_DISPLAY的题头居中显示,我看看了SAP的代码,发现时可以实现的。

REUSE_ALV_GRID_DISPLAY的题头原理和机制

SAP的REUSE_ALV_GRID_DISPLAY的题头实际上一个简易的HTML浏览控件的封装调用,你在服务器用cl_dd_document类的add_text方法增加的文本,SAP都会翻译成HTML语言,再发送给客户端解释展现。

cl_dd_document类的add_text方法都会先进行HTML翻译,再调用cl_dd_document类的html_insert将真正的HTML元素添加到内表。因此,我们就何以通过cl_dd_document类的html_insert将特殊的HTML写到对应内表,实现特殊的现实效果。我想原理分到到这大家都清楚,REUSE_ALV_GRID_DISPLAY的题头不但可以实现居中,还可以实现HTML的各种效果。

备注:REUSE_ALV_GRID_DISPLAY的脚注标题也一样可以实现各种样式

代码样例:(注意红色部分代码)

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

ABAP--如何将REUSE_ALV_GRID_DISPLAY的题头自适应居中显示相关推荐

  1. Webview--如何让加载进来的页面自适应手机屏幕分辨率居中显示

    让Webview加载的页面居中显示有我知道的俩种方法 第一种: [java]  WebSettings settings = webView.getSettings();  settings.setL ...

  2. pc端实现 网页居中显示 且自适应

    通过给最外层添加绝对定位和translate(-50%,-50%) scale(ratio)来实现居中且适度缩放. <!DOCTYPE html > <html lang=" ...

  3. 不固定个数的子元素自适应居中

    今天工友提了一个需求,让固定宽度的子元素,在不确定宽度的容器内水平居中(自适应):UL 宽度不固定:LI 宽度固定,LI 是一个块.看起来还挺简单的.但大家为什么一直讨论不断.希奇,实现了一下.发现实 ...

  4. css3绝对定位垂直居中,CSS3绝对定位自适应居中 - 米扑博客

    网页前端开发中,经常会遇到让一个块状元素水平或垂直居中的情况 你知道如何在自适应屏幕的情况下保持元素居中么? 元素居中这是前端开发中最常见的任务之一 对于行内元素,我们可以对父元素使用 text-al ...

  5. html div背景自动居中显示,网站背景图居中自适应以及拉伸填充CSS代码解决方法...

    写这篇水文呢,也是最近在自己在魔改一个主题用作新做的班级网站. 发现模版的背景图片以及其他地方的图片显示只能在电脑端看到,而在移动端不能够自适应.顺便也整理出来. 首先是图片的居中自适应: 需要先给C ...

  6. html表格网页自适应居中,web前端:css自适应居中方法总结

    下面来看一个最简单的小案例,在浏览器窗口居中一个小盒子: 就这样一个很简单的小案例,你能够想到多少种方法来实现呢?对块元素盒子的左右居中相信大家都不陌生,{margin:auto;}就能够实现,但是对 ...

  7. 如何让图片自适应不同屏幕宽度,并居中显示。

    我们在浏览网站的时候发现,很多网站的banner图片都是全屏宽度.这种图片都是在不同分辨率下都是显示图片的中间部分,这里我们介绍两种方式, 第一种就是常见的方式,用定位 我简单定义为三部曲: - 让包 ...

  8. html css背景图居中显示,网站背景图居中自适应以及拉伸填充CSS代码解决方法

    写这篇水文呢,也是最近在自己在魔改一个主题用作新做的班级网站. 发现模版的背景图片以及其他地方的图片显示只能在电脑端看到,而在移动端不能够自适应.顺便也整理出来. 首先是图片的居中自适应: 需要先给C ...

  9. html div浏览器居中显示,IE浏览器DIV居中实现方法

    IE浏览器中div使用margin:0 auto好像不能居中了,但在ff其它浏览器没问题,下面我来介绍解决ie下 div不居中问题的办法. 编写主题或模板是居中是个大问题,还有就是div中元素都浮动, ...

最新文章

  1. 推荐 Python 十大经典练手项目,让你的 Python 技能点全亮!
  2. FTP协议的命令的使用(转)
  3. python培训班时间 费用-python培训班费用在多少?
  4. java程序有连接数据库_Java程序连接数据库
  5. ML算法岗从业几年还不具备提出新模型的技术能力?看这个就够了!
  6. Java操作SQL Server数据库
  7. (4)nginx:日志以及定时切割日志小例子
  8. [整理III]微软等数据结构+算法面试100题[最新第61-80题]
  9. 计算机网络重要机制(一)可靠数据传输
  10. Java Generics示例教程 - 通用方法,类,接口
  11. 比Jquery FlexiGrid更好用 dotnetFlexGrid 1.2beta更新-增加展现模板模式(Grid中可以放编辑控件和任意Html内容了)...
  12. 在承德避暑山庄里待过,给你的最大感受是什么?
  13. Chrome浏览器下调试和动态修改网页JavaScript
  14. Python IO编程详解
  15. 浏览器多分辨率适配方法总结(跨平台)
  16. AJAX之封装+跨域
  17. python中ipo模式是什么意思呢_Python 之 简单的IPO模式
  18. TSI系统测量参数之:轴向振动
  19. 拉卡拉智能POS终端常见的安全问题及设计要求
  20. DvaJS快速上手(3)

热门文章

  1. 单选框radio绑定click事件
  2. 《易学C++(第2版)》——1.10 习题
  3. 读书笔记 effective c++ Item 18 使接口容易被正确使用,不容易被误用
  4. *CI框架装载器Loader.php源码分析
  5. POJ值得做的题目(一)
  6. 每日英语:Delayed Development: 20-Somethings Blame The Brain
  7. 结构struct(值类型)在实际应用要注意的二点:
  8. Storm里面fieldsGrouping和Field的概念详解
  9. git 本地代码到github(转)
  10. keepalived高可用集群技术介绍及实战演练