知识库

推荐内容

快逸做的更好

产品优势

您的位置: 首页 > 知识库 > 设计基础 > 在分页后的Web报表最后一页补上空行的4种变化

在分页后的Web报表最后一页补上空行的4种变化

几乎任何形式的文档和报表都离不开分页,报表如何分页在B/S模式的Web报表中也是个常见的问题,特别是当大数据量的Web报表需要打印输出时,不可能将所有数据打印到一张纸上,这时必然涉及到报表的分页。

快逸报表提供了非常完善的Web报表分页打印功能,下面就基于快逸报表介绍:如何在Web报表分页后的最后一页补上空行。

开发Web报表常常遇到这样的问题:当数据比较多时,在分页后,常常最后一页只有几条数据,这样的报表被打印出来以后,看起来不是很美观,是否能在Web报表最后一页不足行的时候自动用空白行补充呢?

这个问题用快逸报表可以非常灵活的解决,下面介绍Web报表分页打印时补空行的四种不同的变化如何在快逸报表中实现。

变化一,行高固定,无表头的报表

这种形式的报表最简单,下面用一个两层分组的客户表来举例说明。当此报表分页后,一共分为4页,最后一页只有一行,看起来非常不规整,如下图所示:

需要补空行的Web分组报表,无表头,行高固定

针对这张报表,假设报表按A4纸张大小进行分页,一页纸可以打印30行。那么我们首先在报表末尾增加一个空白行,然后在最左边的单元格里加入=to(1,30-ds1.count()%30)表达式,此表达式的意思是说,一页纸固定行数是30行,分页时如果最后一页数据集ds1数据不满30行,则用空白行补充。

接着选定此单元格,将右侧属性栏中的[可视]属性去掉,发布报表即可看到效果,复杂报表设计" target="_blank" class="quieeLink1">设计界面如下图所示:

快逸报表设计界面中已经补好空行的报表,无表头,行高固定

将此报表发布后,可以看到最后一页已经被补入了空行,正好填充满第四页,如下图所示:

浏览器预览已经补好空行的报表,无表头,行高固定

变化二,行高固定,每页都有表头的报表

当报表加上表头而且每页都有时,情况也不复杂,只需要算出除去表头每页一共可以容纳多少行就可以。在本例中,除去表头每页还可以容纳29行,这样我们只需要将单元格A3中的表达式改为=to(1,29-ds1.count()%29),就实现了添加空行。发布后的效果如下图所示:

浏览器预览已经补好空行的报表,有表头,行高固定

其实当报表加入加入表尾、页面、页脚等等,并且每页都显示时,处理方法也是一样的,只要算出这种情况下每页可以容纳多少行,再取模就可以。

变化三,行高固定,行数不固定,每页都有表头的报表

这种情况下,报表的总行数不等于数据集中记录的总个数,比如本例中在每个”地区”分组后都加入一个”公司数”汇总信息行的情况。这时报表按”地区”一共分为几组由具体数据决定,在设计报表时并不知道,但在快逸报表中非常容易得到这个分组个数,只要算出A2扩展出几个单元格就行。我们把A4的表达式改成:=to(1,29-(ds1.count()+count(A2{}))%29),如下图所示:

快逸报表设计界面中已经补好空行的报表,行数不固定,有表头,行高固定

其实,本例只是行数不固定的一种简单情况,还有很多其它行数不固定的情况,在快逸报表报表中都可以表达式算出这不固定的总行数,从而解决问题。

变化四,行高固定,行数不固定,只有第一页有表头的报表

很多Web报表只需要在第一页打印报表表头,针对这种情况,快逸报表可以通过报表属性设置很方便地设置表头打印的方式,如下图所示:

快逸报表设计界面中用报表属性设置表头打印方式

这时情况其实和变化一类似,只是第一页多出来了报表头这一行,我们只需要在变化三的基础上把取模总数加1、再把每页按29行取模改成按30行取模,修改表达式为:=to(1,30-(ds1.count()+count(A2{})+1)%30),最后预览结果如下图所示:

add-blank-4-preview.png

到这里,利用快逸报表实现分页打印Web报表补足空行的四种变化都介绍完了,细心的读者可能会发现,这四种变化都是基于”行高固定”这个假设,那么当行高不固定的时候如何处理呢?其实最简单答案还是在快逸报表中用取模的方法,只是取模的时候要加入具体行高和打印纸张的高度进行计算就行了。这时候又有读者会问,如果Web报表中的纸张大小都不固定怎么办呢?呵呵,这个也难不倒快逸报表。开发人员可以用快逸报表中的参数和宏的功能,动态设定纸张大小,以适应不同的打印情况。

好了,关于如何使用快逸报表的参数和宏解决更多问题,这里就不详述了,实际应用中的情况千变万化,快逸报表的强大功能远不止这些,读者可以自己使用快逸,创造出更多Web报表的解决方案。

引自:报表工具知识库
相关文章:分页标签的使用 ; 报表中某行的高度比给定纸张高无法分页 ; web报表填报功能 ; 快逸报表在:eclipse工程中无法打印的原因
其他相关内容:免费Web报表开发论坛 ; 专业.net报表工具 ; 探讨Web报表工具.net报表研究

本文标签:
发布日期:2009/04/08
本文分类: 设计基础