- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
水晶报表 固定行显示
水晶报表 固定行显示
水晶报表 垂直文本的变法实现
分类: 水晶报表 2010-09-03 00:15 352人阅读 评论(3) 收藏 举报
先贴出本文要实现的效果:
大体实现思路是这样的:
每页固定显示几行数据,最后一页不够的补空行,这样的想法是基于第一列的文本是垂直显示的,既是垂直显示,总应该让它有足够的行给它显示这个垂直文本吧,尽量让它达到“垂直居中”的效果,因为在水晶报表里面是没有什么属性可以直接设置“垂直居中”的效果的。虽然没有属性可以设置,但是我们可以变着法的来实现,不过这个过程稍显繁琐,尤其是每页固定显示的行数多的时候(比如20条、30条甚至更多),须有足够的耐心:)
首先阅读本文前需先理解阿泰的这篇《水晶报表自动补空行格线》(以下简称《补空行》):/babyt/archive/2009/02/15/4610085.aspx,否则将难以理清本文的思路走向
虽然最后一页经过补空行后总行数是固定的,但有数据记录的行数不定,该如何控制显示最后一页第一列的“垂直文本”呢,这是本文的最大难点(其他都是一些细活,本文方法的实现真的很不容易),经过一番思索,突破这一难点的原理是这样的:(本文每页数据控制显示10行,从第3行开始显示第一列的“垂直文本”)
如果总记录数/10的余数=1,说明最后一页显示的有数据记录只有一条,
紧随其后的则是显示9个空行,为了和前面数据页保持一致,第一列的“垂直文本”
自然也要从第三行(也就是此时的第2个空行)开始显示;
如果余数为2,说明此时最后一页显示的有数据记录有两条,紧随其后的
则是显示8个空行,此时就要从第一个空行开始显示;
......
好了,原理清楚后,看看模板的设计,这里只是给出细微之处的设计,具体设计详见《补空行》
第一列“垂直文本”的实现全是通过公式来实现的,所以少不了公式的操作,我们先看看公式在报表模板的物理位置
这里为什么要建6个公式呢(Col不属于空行显示的公式),原因在于“最坏的情况”就是最后一页只有一条有数据记录,则其余9行全是空行,此时第一列在:
第一个空行要显示为空;
第二个空行要显示“球”;
第三个空行要显示“星”;
第四个空行要显示“一”;
第五个空行要显示“览”;
第六个空行要显示“表”
因此需建立6个公式来合力控制显示第一列的“垂直文本”,知道原理后我们再来仔细瞧瞧这几个公式里面究竟编辑的是什么内容:)
Col公式:
EmptyCol1公式:
EmptyCol2公式:
NumberVar index := Count({DataTable1.TextType}) mod 10;
if index in [1,2,3,4,5] then
Mid(球星一览表,index,1)
else
EmptyCol3公式:
NumberVar index := Count({DataTable1.TextType}) mod 10;
if index in [1,2,3,4] then
Mid(球星一览表,index+1,1)
else
EmptyCol4公式:
NumberVar index := Count({DataTable1.TextType}) mod 10;
if index in [1,2,3] then
Mid(球星一览表,index+2,1)
else
EmptyCol5公式:
NumberVar index := Count({DataTable1.TextType}) mod 10;
if index in [1,2] then
Mid(球星一览表,index+3,1)
else
EmptyCol6公式:
NumberVar index := Count({DataTable1.TextType}) mod 10;
if index=1 then
Mid(球星一览表,index+4,1)
else
经过这样的控制后我们再来看看最后一页的效果
=================================================================================================
在水晶報表裡面操作,操作如下:
1、右鍵單擊“詳細資料”節的灰色橫頭,選擇“節專家”,進入“節專家”對話框;
2、在“公用”選項卡,選中“在后面頁新建頁”复選框;
3、單擊后面的“x+2”按鈕,進入“公式工作室 - 格式公式編輯器”對話框;
4、輸入“RecordNumber mod 25 = 0”,并單擊左上角的“保存并關閉”按鈕。
注意:是 Crystal Repor
您可能关注的文档
最近下载
- 翼状胬肉的护理查房-PPT.ppt
- 2022年应急管理工作应知应会知识竞赛题库(含答案).pdf
- 全民微信时代增进了VS减弱了人与人之间的交流辩论赛 正方辩词一辩、二辩、三辩、四辩发言稿.docx
- 超星网课尔雅《人人学点营销学》尔雅答案2022章节测试答案.docx
- 2019CSP-J NOIP普及组初赛C++试卷.pdf VIP
- 2024年《城镇燃气管理条例题库》考试题库(含答案).pdf VIP
- 最新浙教版八年级上册劳动技术 项目三 任务二《打蛋器的制作》课件(课件).pptx
- 纪律意识方面存在不足及措施4篇.pdf
- 消防安全教育PPT课件.pptx VIP
- 《新中国成立75周年》全文课件.ppt VIP
文档评论(0)