TTT9789 发表于 2024-6-28 13:35:29

区域报表能否设置pagefooter只有最后一页显示

本帖最后由 TTT9789 于 2024-6-28 13:36 编辑

https://gcdn.grapecity.com.cn/showtopic-49432-1-221.html

这个问题最后有结果吗, 我也有同样的需求

Eden.Sun 发表于 2024-6-28 13:35:30

TTT9789 发表于 2024-7-1 14:05
你好,感谢回复, 上面 Visible = false ; 设置之后, 每页页脚都不表示了,判断条件 (如果是最后一页)这 ...
和您后面的这个方法类似,通过 PageNumber 得到报表的页码,PageCount 获得总页数。当总页数=页码的时候说明是最后一页,就可以设置页脚的 Visible 属性:
https://developer.mescius.com/ac ... d-report-dates.html



如果页脚不能进行这种特异性设置的话,您试一下是否可以对也页脚中的的其他元素,单独设置 Visible 属性,这样就是比较麻烦。


Eden.Sun 发表于 2024-7-1 12:29:10

您好,页脚有一个隐藏属性 Visible 值为 true 时,是隐藏,您可以通过代判断一下。
如果是最后一页,就显示,否则就隐藏。如:



TTT9789 发表于 2024-7-1 14:05:49

本帖最后由 TTT9789 于 2024-7-1 14:14 编辑

你好,感谢回复, 上面 Visible = false ; 设置之后, 每页页脚都不表示了,判断条件 (如果是最后一页)这个怎么加,
例子代码如下:
C#(ActiveReports18 for .net 日文版)
   GrapeCity.ActiveReports.SectionReport sectionReport = new GrapeCity.ActiveReports.SectionReport();
   XmlReader xtr = XmlReader.Create("xxxx.rpx");
   sectionReport.LoadLayout(xtr);
   PageFoot pageFoot = GetPageFooter(sectionReport);
   pageFoot.Visible = false;

后来想想, 这代码 相当于把模板 属性改了, 所以全部不表示, 所以不行

那么 又改了代码
sectionReport.run();
int sumPages = sectionReport.Document.Pages.Count;// 获得描画后的所有pdf总页数
譬如 获得 总共 9 页,但是 怎么通过 1-8 的下标 去更改每页 页脚 的表示呢

另外, 模板里面 无法 通过表达式控制Visible = false;

现在1-8 的下标 的每一页, 设定 page位置坐标用 page.fillRect(1f, 1f, 2f, 2.5f) 方法, 画了个白布, 遮住 除最后一页的所有页脚

TTT9789 发表于 2024-7-1 14:16:45

能否告知sectionReport.run(); 之后sectionReport.Document.Pages 取得对象, 是否有方法操作 该页 所有项目,譬如 当前页 有 Field1 = "xxx",Field2 = "yyy", 控制它们表示与否

TTT9789 发表于 2024-7-1 15:39:28

数据层分割,分为带页脚的数据。跟不带页脚的数据,同样模板读取两次,第一次处理不带页脚数据,visible=false,第二次处理带页脚数据,同一个Document把上面两次处理对象加进去就行

Eden.Sun 发表于 2024-7-2 17:06:15

TTT9789 发表于 2024-7-1 15:39
数据层分割,分为带页脚的数据。跟不带页脚的数据,同样模板读取两次,第一次处理不带页脚数据,visible=fa ...

您使用的是ARden哪个版本?或者您查查我们的帮助文档。
https://developer.mescius.com/activereportsnet/docs/latest/online/design-section-reports.html
页: [1]
查看完整版本: 区域报表能否设置pagefooter只有最后一页显示