本帖最后由 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?
|