dr0070 发表于 2017-4-5 15:39:27

控件隐藏公式翻页失效

帐票,Container里有多个TextBox,
Container根据公式隐藏时,
想要TextBox隐藏。现在2/3页的TextBox不隐藏。3/3页的TextBox能隐藏,请协助帮忙解决。
请看图片。

Lenka.Guo 发表于 2017-4-5 17:04:10

您想要实现的问题是:
1. Container里面有多个TextBox, Containner 会在页码大于1 时隐藏,
2. Containner 里面的TextBox 想要在页码等于第二页的时候显示, 页码等于3的时候隐藏

首先TextBox 是Contanier的子控件,当Containner 隐藏时,TextBox 也是隐藏的,无法更改为显示,您要分开控制TextBox的可见性,并与Container不一致,建议不要将TextBox 放到Container容器内,而且当Container的总高度在一页中能显示完全的时候,是不会在第二页显示的

dr0070 发表于 2017-4-5 17:29:10

我想要解决的问题是,第二页以后Container根据公式隐藏,Container里的子控件也随之隐藏。
现象是现在第二页无法隐藏是错误的,但是第三页竟然能隐藏,不知道什么原因。
TextBox 是Contanier的子控件。

Lenka.Guo 发表于 2017-4-5 18:10:59

第二页无法隐藏是错误的
》》 那第二页的Container 是否正确隐藏,第二页显示,第三页隐藏有可能是第二页已经将Container 显示完了, 第三页不会再继续展示

dr0070 发表于 2017-4-5 19:41:37

现在将 Container去掉,单独使用TextBox ,
TextBox隐藏属性Visibilit→Hidden=IIF(Globals!PageNumberInSection <> 1,TRUE,FALSE)
依然是这个问题。
TextBox 第二页无法隐藏(预想是隐藏的,无法隐藏是错误的),但是第三页竟然能隐藏,不知道什么原因。

Lenka.Guo 发表于 2017-4-6 15:37:18

如上面强调过的,TextBox 是一个单独的控件,如果放在报表的Body 体中,它的内容只在一页中就显示完全了,他不会在第二页继续显示的。做任何的可见性设置都没有意义。
另外您上面使用的PageNumberSection 是获取区域内的页码,可以理解为是相对页码。但如果您要根据报表页码来设置,建议使用=Globals!PageNumber

dr0070 发表于 2017-4-6 19:31:42

可是第一页显示完了,但第二页显示了,不是没显示。希望你仔细看看,和第一页没关系
PageNumberSection 这个参数就无法实现了?

Lenka.Guo 发表于 2017-4-7 10:26:19

dr0070 发表于 2017-4-6 19:31
可是第一页显示完了,但第二页显示了,不是没显示。希望你仔细看看,和第一页没关系
PageNumberSection 这 ...

我这边没有见到最终的报表效果图,可能会理解有误, 在这边也只能猜测您要实现的效果,以及目前实现的效果。
如果您觉得我没有理解您的需求,建议您传一个我这边可以运行的报表模板,直接看到效果,我在这边来帮您调试。
第一页不显示,第二页开始显示,我猜测的原因第一页显示的是BandedList, TextBox 按顺序就显示到了第二页,而正好您使用了PageNumberSection PageNumberSection 和PageNumber 没有说哪个能实现哪个不能实现,选择哪一个常量具体要看实现的需求,以下是两者的文档说明

Page NumberGets the current page number in the report.=Globals!PageNumber
Page Number (Section)Gets the current page number in the report section.=Globals!PageNumberInSection






页: [1]
查看完整版本: 控件隐藏公式翻页失效