如何在水晶报表主报表中显示主报表加子报表的页码

cloudotidas 2011-08-25 10:44:14
作为一名在公司的实习生,我第一个接手的任务就是水晶报表,主要是layout方面的设计,后台代码是别人写的。
问题基本上是这样的。(我尽量叙述详细点)现在从后台传入两个dataset作为主、子报表的数据源,子报表放在reportfooter区域打印,并且主、子报表中的数据都是按不同的group分页的。现在要在主报表上显示页码,并且页码是按照一个名为“委托者number”的字段分类的,当这个字段变更,则页码重置为“1”。我写了这样如下的公式来解决这个问题:(公式放在pageheader中显示)
WhilePrintingRecords;
Stringvar s1 := "委托者number";
If not PreviousIsNull(委托者number) then
Stringvar s2 := Previous(委托者number)
else
Stringvar s2 :=" ";
If s1 <> s2 then
Numbervar pageNum := 1;
else if (totalPageCount >= pageNumber) then
pageNum := pageNum + 1;

子报表会在最后一个“委托者number”下面打印。但问题是:pageNumber是在增加,totalPageCount >= pageNumber的条件仍然成立,但是子报表分页之后该公式就不再执行了,比如开始打印子报表的那页pageNum是“1”,接下来不管有多少分页,pageNum一直为一。百思不得其解,求各位高手指点!如有没说清楚的地方请说明,我会及时补充说明。
...全文
173 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudotidas 2011-08-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 babyt 的回复:]
标记下先。晚些具体看看。
[/Quote]
期待阿泰的回答,这让我头疼好久了
cloudotidas 2011-08-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ajaxtop 的回复:]
Stringvar s1 := "委托者number";
If not PreviousIsNull(委托者number) then
Stringvar s2 := Previous(委托者number)


看来看去也没看懂
不过觉得你这里肯定有问题

让If s1 <> s2 then
Numbervar pageNum := 1;
这个一直执行,导致一直为1
[/Quote]要控制当“委托者number”发生变化的时候将页码重置为1啊
ajaxtop 2011-08-26
  • 打赏
  • 举报
回复
Stringvar s1 := "委托者number";
If not PreviousIsNull(委托者number) then
Stringvar s2 := Previous(委托者number)


看来看去也没看懂
不过觉得你这里肯定有问题

让If s1 <> s2 then
Numbervar pageNum := 1;
这个一直执行,导致一直为1
阿泰 2011-08-26
  • 打赏
  • 举报
回复
标记下先。晚些具体看看。

4,819

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧