水晶报表使用经验(不断扩充中)_第1页
水晶报表使用经验(不断扩充中)_第2页
水晶报表使用经验(不断扩充中)_第3页
水晶报表使用经验(不断扩充中)_第4页
水晶报表使用经验(不断扩充中)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、水晶报表使用经验(不断扩充中) 一:水晶报表获取数据库字段前一段的课程中我讲了关于如何获取报表的数据库字段,当时讲的方法是使用OLE DB建立新的数据链接,通过SQL语句来获取要在报表中绑定的数据库字段的,从而避免了使用强类型数据集,实际上这是使用了PULL模式,在实际应用上它会两次链接到数据库,会造成性能损失。                下面我介绍一下使用“仅字段定义”方法来获取数据库字段:1.    

2、0;  1:建立新报表。      2:在“数据库专家”中选择“创建新连接”中的“仅字段定义”。如下图:在弹出的窗体中选择“创建文件”,如下图: 在弹出的“数据库定义工具”中输入字段名称、选择字段类型即可编辑所需要的字段了, (如下图)。 创建完字段后关闭窗体,弹出窗体,选择“保存”会生成ttx类型的文件,(如下图),此文件无须放到项目中,删掉也无所谓,亦可以保留以待日后更改。 以上是通过“仅定义字段”方法来获取绑定字段的方法。通过这种方法来获取字段更快捷灵活,且不会占用数据库资源,而且也不用使用强类型数

3、据集。二:样式表的应用。初始状态:一个web页,一个CrystalReportViewer控件,使用CrystalReportViewer控件加载rpt文件。实现方法有两种:1:在web页的Html编码内进行样式表的引用,然后在rpt文件中的要进行设置的对象的CssClass属性写入样式名称即可。2:在CrystalReportViewer控件的CssFileName属性中写入样式表文件的相对路径,然后再在rpt文件中在设置即可。三:含有子报表的报表的显示问题。初始:使用“仅字段定义”方法定义了两个表,一个用在主报表上,一个用在子报表上。设计完报表后,示例代码如下:  &#

4、160;     RPT.PingShenForLiGang rpt = new CRForCA.RPT.PingShenForLiGang();        System.Data.DataSet  ds = BuildDS();        rpt.SetDataSource(ds);        this.Cryst

5、alReportViewer1.ReportSource = rpt;     这样做在运行时会弹出窗体要什么验证的,所以需要对子报表的数据进行绑定,那么,如何解决呢?    引用命名空间:using CrystalDecisions.CrystalReports.Engine;     以上代码改为:    RPT.PingShenForLiGang rpt = new CRForCA.RPT.PingShenForLiGang();  

6、60; System.Data.DataSet  ds = BuildDS();    /获取子报表    SubreportObject oSubreport1 = (SubreportObject)rpt.DetailSection3.ReportObjects"Subreport5"    ReportDocument oSub1 = oSubreport1.OpenSubreport("mytest");   

7、0;/绑定子报表    oSub1.SetDataSource(ds);     /绑定主报表    rpt.SetDataSource(ds);     this.CrystalReportViewer1.ReportSource = rpt;     需要对子报表在进行数据绑定,这样就会解决这个问题了。四: 控制水晶报表中的对象。以文本对象为例。 引用命名空间:using CrystalDecision

8、s.CrystalReports.Engine; 代码如下:RPT.PingShenForLiGang rpt = new CRForCA.RPT.PingShenForLiGang();  System.Data.DataSet ds = BuildDS();rpt.SetDataSource(ds);TextObject text ;text = (TextObject)rpt.ReportDefinition.ReportObjects"txtTitle" /显示的值    text.Text = “Hell

9、o”;         this.CrystalReportViewer1.ReportSource = rpt;五:公式的高级应用(1) 问题描述:数据库有一文本字段“Result” ,用来记录“A” 、“B” 、“C”等值(业务要求),在报表页脚中需要对这一字段统计,统计的形式为ABA 即要求对“Result”字段的所有值分行在页脚中显示。 解决方案:这个问题我想难点在于如何换行。水晶报表可以解析html,那么我们可以通过循环获取“Result”的值加上html换行标记<br>,是不是就可以实现了呢?简单试了一下,完全OK。下面介绍如何实现:新建一个公式字段“SumResult” ,将之拖到报表页脚位置。编辑公式。代码如下(Basic语法):global myout as stringWhileReadingRecordsmyout = myout & Test.Result &"<br>"formula = myout 编辑完毕

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论