crystal report 套表中一刀換行筆數換頁問題

金湧 2010-05-21 09:36:52
我有一個crystal report 問題:
是套表中一刀的明細10印10筆自動換頁,現在因調整品名過長自動換行(自動調大)
但明細資料一樣會印10筆這樣就印到頁尾了,有辦法控制印10行嗎?
實際套印結果,如下:

(頁首)
-----------------------------------------------
1 AAAAAAAAA
2 AAAAAAAAA
3 AAAAAAAAA
4 AAAAAAAAA
5 AAAAAAAAA
6 AAAAAAAAA
7 AAAAAAAAA
8 AAAAAAAAA (明細區)
------------------------------------------------
AAAAAAAAA (頁尾區)
9 AAAAAAAAA
10 AAAAAAAAA
...全文
867 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shangyonghui 2010-12-23
  • 打赏
  • 举报
回复
看看答辩吧
东莞寻香苑 2010-05-22
  • 打赏
  • 举报
回复
也学一招
金湧 2010-05-22
  • 打赏
  • 举报
回复
謝謝#5楼 (阿泰)
太棒了!!
我依照你的方法,將頁首.頁尾尺度調跟實際紙張高度後,並拿掉所有控制
直接依报表模板照印,果真明細資料自己會自動分頁
金湧 2010-05-21
  • 打赏
  • 举报
回复
謝謝你
我今晚試試你的方法;結果我再跟你說明!!
东莞寻香苑 2010-05-21
  • 打赏
  • 举报
回复
(1)定義一個共享變量,公式InitVar:
shared numbervar row:=0;//row控制當前頁行數
放在緊鄰[細目]前,我放在頁首,抑制顯示
(2)公式CurrentVar:
 whileprintingrecords;
numberVar row;
if Length ({字段})>31 then//大于15字左右
row:=row+3
else if Length ({@ComFiled})>17 and Length ({@ComFiled})<=31 then//8-15字左右
row:=row+2
else //小于等于8字左右
row:=row+1;

把這個公式放放[細目],抑制顯示。当然这个可以跟據自己實際情況調整行數,31,17這些可能跟據你自己的環境測一下,到底要多大合適(有時候有字母數字和漢字,所以不一定准確)
(3)區段專家中設置[細目]-->[在之前新增分頁]打勾,公式中輸入:
   numberVar row;
   if row>10 then
  (
   row:=0;
   true;
   )
东莞寻香苑 2010-05-21
  • 打赏
  • 举报
回复
我也遇到和你差不多的事情,我用的是不精確控制法,具體如下:
(1)定義一個共享變量,公式InitVar:
shared numbervar row:=0;//row控制當前頁行數
放在緊鄰[細目]前,我放在頁首,抑制顯示
(2)公式CurrentVar:
  whileprintingrecords;
numberVar row;
if Length ({字段})>31 then//大于15字左右
row:=row+3
else if Length ({@ComFiled})>17 and Length ({@ComFiled})<=31 then//8-15字左右
row:=row+2
else //小于等于8字左右
row:=row+1;

把這個公式放放[細目],抑制顯示。当然这个可以跟據自己實際情況調整行數,31,17這些可能跟據你自己的環境測一下,到底要多大合適(有時候有字母數字和漢字,所以不一定准確)
(3)區段專家中設置[細目]-->[在之前新增分頁]打勾,公式中輸入:
   if row>10 then
(
row:=0;
true;
)

希望對你有個點用吧!
东莞寻香苑 2010-05-21
  • 打赏
  • 举报
回复
好像没有什么好办法,只用手动控制行了,如果有,也学习一下
阿泰 2010-05-21
  • 打赏
  • 举报
回复

我觉得这个问题不在于此。

我们再来看一下这个问题

(頁首)
-----------------------------------------------
1 AAAAAAAAA
2 AAAAAAAAA
3 AAAAAAAAA
4 AAAAAAAAA
5 AAAAAAAAA
6 AAAAAAAAA
7 AAAAAAAAA
8 AAAAAAAAA (明細區)
------------------------------------------------
AAAAAAAAA (頁尾區)
9 AAAAAAAAA
10 AAAAAAAAA

这个问题比较我觉得这个“頁尾區”,不等同于 报表模板上的“页脚”
不然的话,第9行和第10行这两个“详细资料节”的数据也不会跨界打印在“页脚”节上。

我觉得解决方法是这样的,仅供参考。

首先我重新修正下楼主的要求,其实,楼主是需要在一页上打印(打满)10行,而不是10条。
也就是说,这些数据,刚好打满单据的内容部分,不要跨到页脚上来。
而且,尽量打满,不要留空。

所以可以这样,不要设置分页公式,也不要任何公式。
只要调整水晶报表模板。使页眉页脚等同于实际纸张的页眉页脚。
那么最终详细资料节的高度就是实际的内容高度

不需要控制每页显示几条,让数据自己往下走,填满了内容部分,他自动会分页到下一页的。
相关推荐
发帖
图表区

4816

社区成员

.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
帖子事件
创建了帖子
2010-05-21 09:36
社区公告
暂无公告