FastReport.Net报表生成器:如果没有数据,如何隐藏列表中的列

原创|使用教程|编辑:郑恭琳|2020-04-10 11:15:28.767|阅读 79 次

概述:制作报表时,我们希望它对使用者尽可能“友好”。太多的数据和设计元素处理使人们对信息的理解更加不利。比如,许多人希望删除表中的没有数据的空格。FastReport.Net报表生成器使您可以执行此功能。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

相关链接:

制作报表时,我们希望它对使用者尽可能“友好”。太多的数据和设计元素处理使人们对信息的理解更加不利。比如,许多人希望删除表中的没有数据的空格。FastReport.Net报表生成器使您可以执行此功能。如您所知,不仅需要隐藏该列,而且还需要为其隐藏标题。如果用鼠标单击几下即可隐藏一列,那么隐藏标题任务却并非易事。

假设我们有一个表,要从中显示报表中的数据。但是,某些数据可能会丢失或设置为零。在这种情况下,我们可以使用“条件选择”工具隐藏零数据单元。选择所需的单元格,然后单击工具栏上的图标:

添加条件时,默认情况下将检查零。那就是我们所需要的。我们仅选择显示选项。在我们的例子中,我们删除可见的标志:

因此,通过这些非精简的操作,我们已经实现了隐藏的零数据单元。但这并不能解决所有问题。我们的任务是在没有值大于零的情况下隐藏整个列的标题。此列中的空白将检查每页的输出。


要检查给定列中页面上是否没有数据,我们将使用“结果”。

该结果由给定的列求和,并汇总其中的所有值。如果总数为零,则该列中没有单个值大于零,因此您需要隐藏该列的标题。

现在,让我们添加结果:

结果放入“页脚”区域中:

然后可以使用visible”属性隐藏结果。

然后,让我们设置逻辑以隐藏最后一列的标题。代替RUB文本,我们引入表达式:

[IIf([Total]!=0,Text14.Text = "RUB",Text14.Text = "")]

但是,这还不是全部。由于结果是在页面上显示标题和数据之后形成的,因此在执行我们上面介绍的表达式时,总价值无关紧要。因此,我们需要在列标题中使用延迟表达式计算选项,并对报表进行两次遍历。

选择一个带有RUB列标题的文本框。在文本字段的属性中,我们找到ProcessAt并更改为PageFinished


之后,我们需要打开报表属性并安装Doublepass”选项:


此选项使您可以两次生成报表。在第一种结构中,将计算所有结果,在第二种结构中,这些结果可用于标题。所有这些都是必要的,因为报表在元素上是一致的。也就是说,在构建下一个元素时,您将无法更改前一个元素。因此,您需要进行重新构建,以考虑下一个元素的结果。

让我们看看RUB列中所有数据何时为0报表的工作方式:

在某些页面上可以显示数据,因此该列也会显示:

这样,我们可以根据列中的数据动态显示或隐藏列。



重要通知:FastReport助力医疗机构,.NET正版授权限时限量免费申请!赶快抢占名额>>



产品介绍 | 下载试用 | 优惠活动 | 在线客服



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
FastReport .Net

一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。

在线
客服
咨询
电话
400-700-1020
在线
QQ
购物车 反馈 返回
顶部
在线客服系统
live chat