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
...全文
1271 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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条。
也就是说,这些数据,刚好打满单据的内容部分,不要跨到页脚上来。
而且,尽量打满,不要留空。

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

不需要控制每页显示几条,让数据自己往下走,填满了内容部分,他自动会分页到下一页的。
Crystal Reports 9.2 中文版(水晶报表) 下载,,软件版本:9.2.0.448不过现已出了Crystal Reports Professional v9.2.2.634 (c) Crystal Decisions,有足够的空间就提供.这是一个很不错的报表控件,我相信很多朋友都听说过吧!Crystal Reports 用于处理数据库,帮助用户分析和解释重要信息。使用 Crystal Reports 可以方便地创建简单报表,同时它也提供了创建复杂或专用的报表所需的整套工具。 创建所能想象的任何报表 Crystal Reports几乎可以从任何数据源生成您需要的报表。内置报表专家在您生成报表和完成一般的报表任务过程中,会一步一步地指导您进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。 将报表扩展到 Web Crystal Reports 的灵活性并未停留在创建报表这一功能上 ?您可以用各种各样的格式发布报表,包括用 Microsoft 的 Word 和 Excel 发布、通过电子邮件甚至 Web 发布。高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。 将报表并入应用程序通过将 Crystal Reports 的报表处理功能整合到自己的数据库应用程序中,应用程序和 Web 开发人员可以节省开发时间并满足用户的需求。Crystal Reports 支持大多数流行的开发语言,可以方便地在任何应用程序中添加报表。 不论您是 IT 行业的站点管理员,还是营销推广经理,也无论您是金融业的数据库管理员还是 CEO,Crystal Reports 都堪称是一个功能强大的工具,它可以帮助每一个人分析、解释重要信息。感谢 revenant 上传!

4,816

社区成员

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

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