像 excel 一样轻松冻结 web 报表表头 (锁定表头)

简介: 冻结表头,固定表头

对于一个网站来说,用户体验会涉及到很多方面,包括页面布局是否合理、导航视图是否清晰、加载速度是否够快、乃至按钮或字体的大小,等等诸多方面。
用户体验是使用者的主观感受,通俗来说就是“你这玩意儿用起来方不方便”。
除了网站设计,好的用户体验同样适用于用报表工具制作出的报表。比如数据监控,报表支持高亮显示数据提供预警;为了提高报表的可读性,明细报表数据支持隔行异色显示等。
这里,我们关注另一个很典型的用户体验问题,如果报表的一页数据超出一个屏幕显示的高度(超宽也一样)时,如何能保证靠后的行或列数据始终能看到每列对应的标题?总不能让看报表的同志频繁的前后滚动鼠标反复查找对照,要是这样不骂你才怪。
针对这个问题,常使用 excel 的小伙伴儿应该都知道一项“冻结”功能,冻结之后,标题部分在窗口中锁定,滚动鼠标或拖动滚动条时,仅数据区滚动,从而方便查看数据。
问题来了,润乾报表能搞不?! 甭怀疑,肯定行。
比如“按照产品名称统计各销售人员的销售情况表”,如下图
1

润乾报表如何实现锁定标题行(蓝底部分),接下来看下实现过程(以设计器自带 demo 数据库为例)。
首先,设计如上图所示的交叉报表
2

其中
数据集 sql 为:

SELECT 产品.产品名称, 订单明细.单价 * 订单明细.数量 * 订单明细.折扣 as 销售额, 雇员.姓氏 +雇员.名字 as 姓名 
FROM 订单明细,订单,产品,雇员
WHERE 订单.订单ID = 订单明细.订单ID AND  订单.雇员ID = 雇员.雇员ID 
AND 订单明细.产品ID = 产品.产品ID

A3 表达式:=ds1.group(产品名称; 产品名称:1)
B1 表达式:=ds1.group(姓名; 姓名:1)
B3 表达式:=ds1.sum(销售额)
注:第 1、2 行,行属性设置为“表头”
此时,将报表发布到网页端,可正常展现,但表头没有锁定,如把滚动条拖动到
最底部时,屏幕内只有数据区,如图
3

改造!只需要在报表展现页面标签增加 needScroll属性即可实现锁定表头功能,如下

       <report:html name="report1" reportFileName="<%=report%>"
              funcBarLocation="no"
              generateParamForm="no"
              params="<%=param.toString()%>"
              exceptionPage="/reportJsp/myError2.jsp"
              appletJarName="/raqsoftReportApplet.jar"
              needScroll="yes"
              scrollWidth="100%"
              scrollHeight="100%"
              needImportEasyui="no"/>

注意:标红的 needScroll,是否固定上表头和左表头,默认为 no。另外,scrollWidth
为固定表头后,报表的显示宽度;scrollHeight 则为显示高度。
改造完,看效果(依然将滚动条拖至最底部)
4

可以看到,滚动条拖至最底部,表头依然与数据区不离不弃。
怎么样,简不简单?!不论例子中的锁定行表头,还是要锁定列表头,亦或是同时锁定,仅需一个展示属性即可实现,从而极大提升报表的用户体验。

作者:bubblegum
链接:http://c.raqsoft.com.cn/article/1534755993783?r=IBelieve
来源:乾学院
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
1月前
|
数据处理 Python
Python教程:生成Excel并更改表头
Python教程:生成Excel并更改表头
24 0
|
3月前
|
BI 索引 Python
python报表自动化系列 - 译码:与Excel单元格索引对应的十进制数坐标
python报表自动化系列 - 译码:与Excel单元格索引对应的十进制数坐标
17 1
|
3月前
|
BI 索引 Python
python报表自动化系列 - Excel单元格(Cell)索引范围对应的所有单元格
python报表自动化系列 - Excel单元格(Cell)索引范围对应的所有单元格
26 0
|
3月前
|
BI 索引 Python
python报表自动化系列 - 译码:将纯数字译码为Excel列坐标的字母索引表示形式
python报表自动化系列 - 译码:将纯数字译码为Excel列坐标的字母索引表示形式
22 1
|
9月前
|
XML 存储 安全
Excel电子表格的PHP类库:PHP_XLSXWriter(大数据量报表、后台运行、浏览器下载)
Excel电子表格的PHP类库:PHP_XLSXWriter(大数据量报表、后台运行、浏览器下载)
158 0
|
4月前
|
BI
JXLS 简化报表(excel数据)导出
JXLS 简化报表(excel数据)导出
31 0
|
9月前
|
数据可视化 数据挖掘 BI
Excel最佳替代品!免费好用功能全,一键制作可视化报表|伙伴云
Excel最佳替代品!免费好用功能全,一键制作可视化报表|伙伴云
Java POI导出excel经典实现-交叉报表斜表头
Java POI导出excel经典实现-交叉报表斜表头
|
数据可视化 数据挖掘 BI
软件测试|Python操作Excel制作报表,不要太方便
软件测试|Python操作Excel制作报表,不要太方便
136 0
软件测试|Python操作Excel制作报表,不要太方便
|
前端开发 JavaScript API
layui2.0数据表格导出复杂表头EXCEL解决方案,table2excel
layui是一套面向所有层次的前后端开发者,零门槛开箱即用的前端UI解决方案。很多的后端开发在开发后台系统时候都会选择它。 数据表格组件也是使用非常频繁的,它可以快速从api得到数据并进行处理渲染成表格,并且还有排序、总计、导出表格等等功能。
502 0
layui2.0数据表格导出复杂表头EXCEL解决方案,table2excel