.net 鼠标移入弹出页面_FastReport.Net报表生成器:如何隐藏列表中那些没有数据的列?...

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

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

b87e5ff1c9738b11a75a92f4dbcc57a7.png

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

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

5c6d55d1235240d8e977362da49b4226.png

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

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

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

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

现在,让我们添加结果:

8942115084adf269f8b8006148fe0bae.png

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

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

d427b78b9a7e5208ef416936613ab281.png

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

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

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

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

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

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

661c8bb127d8a703ce270d91f06f1683.png

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

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

2b4bfdd9dcaddf121e1dc192ae2f85df.png

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

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

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

e4e2ec668a323b9476a88f11ee4e9436.png

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

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

837be35d1308accdc342f8fbcb7b8cd1.png

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

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

重要通知:FastReport助力医疗机构,.NET正版授权限时限量免费申请!赶快点击“了解更多”抢占名额!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值