frog28612861 发表于 2023-12-5 11:53:50

【ActiveReportsNET11】SectionReport 自动换页后第一行显示后页内容

本帖最后由 frog28612861 于 2023-12-5 11:56 编辑

用的是SectionReport

页面结构是
PageHeader,
GroupHeader1
GroupHeader2
GroupHeader3
Detail
GroupFooter3
GroupFooter2
GroupFooter1
PageFooter


PageHeader里显示3个字段的内容,分别是字段A, B, C
Detail行显示字段 D


GroupHeader1
GroupHeader2
GroupHeader3

对应的DataFiled, 分别设置了 A,B,C

换页代码如下


Private Sub GroupFooter1_Format(sender As Object, e As EventArgs) Handles GroupFooter1.Format
      GroupFooter1.NewPage = NewPage.After
    End Sub
    Private Sub GroupFooter2_Format(sender As Object, e As EventArgs) Handles GroupFooter2.Format
      GroupFooter2.NewPage = NewPage.After
    End Sub
    Private Sub GroupFooter3_Format(sender As Object, e As EventArgs) Handles GroupFooter3.Format
      GroupFooter3.NewPage = NewPage.After
    End Sub



每页都显示PageHeader的内容,另外每页最多可显示明细行5行

想要的效果是如果A,B,C任何一个发生变化,就强制换页,如果一致的,那么就每页显示5行,自动换页


以上设置,现在发现的问题是,如果ABC不变的行数是6行,那么按预想
第1页的PageHeader里显示ABC,明细行显示5行;然后第2页的PageHeader里显示ABC,明细行显示1行;然后第3页显示新的ABC的内容

但跑出来的结果,第1页跟预想相同,第2页的PageHeader里的C,变成跟第3页的ABC一样了,第2页的明细跟预想的一致

比如数据是这样的
第1条:A:001, B:001, C:001,D: 001

第2条:A:001, B:001, C:001,D: 002

第3条:A:001, B:001, C:001,D: 003

第4条:A:001, B:001, C:001,D: 004

第5条:A:001, B:001, C:001,D: 005
-------------------------------------------------

第6条:A:001, B:001, C:001,D: 006
=============================

第7条:A:001, B:001, C:002,D: 007

第8条:A:001, B:001, C:002,D: 008








按5条1页,C变化自动换页的预想,应该是第2页PageHeader和第1页一样,都是显示 A:001, B:001, C:001
但实际第2页的PageHeader,显示了 A:001, B:001, C:002,明细行1行,显示D:006
第3页的PageHeder,显示A:001, B:001, C:002,明细行2行,显示D:007和D:008


如果A:001, B:001, C:001的数据,不是6条,是7条,那么第2页显示就正常了
第1页和第2页的PageHeader都是A:001, B:001, C:001



以上情况,是我这边设置的问题?还是ActiveReport本身的bug?






Eden.Sun 发表于 2023-12-5 11:53:51

本帖最后由 Eden.Sun 于 2023-12-5 17:46 编辑

问题描述:区域报表分组显示问题。


问题解决:
您好,从您的描述和图片来看,您说的是当第一个分组里面只有6条数据的时候会有问题,我这边测试了一下,没又出现您的这个问题。



您试试把表头删掉,把内容加到分组3中,然后打开每页重复显示:

frog28612861 发表于 2024-1-17 17:17:53

谢谢,但我这边ActiveReports的版本是 【ActiveReportsNET11】,没有RepeatToFill这个选项。。。

Eden.Sun 发表于 2024-1-17 17:42:49

frog28612861 发表于 2024-1-17 17:17
谢谢,但我这边ActiveReports的版本是 【ActiveReportsNET11】,没有RepeatToFill这个选项。。。

AR11 的版本有点老了,我用的是AR17测试的,您可以升级之后试试呢。

frog28612861 发表于 2024-2-19 19:04:41

抱歉,再完善一下我这边的情况

1. PageHeader高度设置了2.66inch
2. 3个GroupHeder的高度都是0
3. Detail行高设置了0.4inch
4. PaperKind是A4, Orientation是Landscape

以上条件,结果是每页会显示12行
但debug的时候发现,PageNumber这个系统内置变量,在出第13行的时候,还是1,没有变成2
然后Detail的位置,通过Me.Detail.CurrentLocation.Y发现,打印第一行明细数据的时候,是2.96,并不是PageHeader的高度2.66,差了0.3
但实际打印到纸上,是2.66,
是不是这个差值,导致报表出来的时候,出到第13行了,PageNumber还是1?

Eden.Sun 发表于 2024-2-20 09:29:05

frog28612861 发表于 2024-2-19 19:04
抱歉,再完善一下我这边的情况

1. PageHeader高度设置了2.66inch


这个没办法判断了。您可以开一个新帖,详细描述一下您的问题,贴上您觉得他有问题的图片。
再有就是AR11的版本有点老了,您可以在最新版的AR17上试试呢。

frog28612861 发表于 2024-2-20 09:49:16

好的,另外问一下,出报表的时候,比如现在已经出到第3张了,就是PageNumber已经变成3了,代码里我想查看或者修改PageNumber是1的里面的内容,能做到吗?

Felix.Li 发表于 2024-2-20 13:54:54

抱歉,这个没有,对于设计而言,设计的是模板,而修改的也是模板,而不是实际渲染的内容。

frog28612861 发表于 2024-2-22 09:40:13

已下载V17试用版,但跟我这边的V11差别有点大,请问V17对应的.net framework需要多少?

Bella.Yuan 发表于 2024-2-22 11:27:26

frog28612861 发表于 2024-2-22 09:40
已下载V17试用版,但跟我这边的V11差别有点大,请问V17对应的.net framework需要多少?

您好,您可以参考17版本的环境要求:https://developer.mescius.com/activereportsnet/docs/latest/online/product-requirements.html
页: [1] 2
查看完整版本: 【ActiveReportsNET11】SectionReport 自动换页后第一行显示后页内容