初用水晶报表(vs .net2003集成,版本Version=9.1.5000.0) 
装好后要注册 注册号:6707437608 密码:AAP5GKS0000GDE100DS  


想要在.aspx文件中使用水晶报表 
1.先新建文件webform1.aspx 在页面拖入组件CrystalReportViewer 生成代码 

2.在项目的同个文件夹中新建文件crystalreport1.rpt? 在字段资源管理器的数据库字段“添加数据库” 请使用oledb连接 从而选择你所要在报表中显示的数据表(有向导) 

3.在webform1.aspx.cs主要代码如下: 
protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1; 
private void Page_Load(object sender, System.EventArgs e) 

// 在此处放置用户代码以初始化页面 
TableLogOnInfo logOnInfo = new TableLogOnInfo (); 
ReportDocument oRpt = new ReportDocument(); 
string RptDir="f:\\bbs\\test\\crystal\\crystalreport1.rpt"; //crystalreport1.rpt文件所在的绝对路径 
oRpt.Load(RptDir); 

//设置logOnInfo参数,注意这里如果不设?编译时最容易出现“登陆失败”的错误! 
logOnInfo.ConnectionInfo.ServerName = "服务器名"; 
logOnInfo.ConnectionInfo.DatabaseName = "数据库名"; 
logOnInfo.ConnectionInfo.UserID = "用户名"; 
logOnInfo.ConnectionInfo.Password = "密码"; 
oRpt.Database.Tables [0].ApplyLogOnInfo(logOnInfo); 

//建立.rpt文件与CryStalReportviewer文件之间的连接 
CrystalReportViewer1.ReportSource=oRpt; 


4.//生成pdf文档 在以上代码中加入 
 ExportOptions crExportOptions=new ExportOptions(); 
DiskFileDestinationOptions crDiskFileDestinationOptions=new DiskFileDestinationOptions(); 
crDiskFileDestinationOptions.DiskFileName="f:\\bbs\\test\\crystal\\crystalreport1.pdf"; 
crExportOptions=oRpt.ExportOptions ; 
crExportOptions.DestinationOptions=crDiskFileDestinationOptions; 
crExportOptions.ExportDestinationType =ExportDestinationType.DiskFile; 
crExportOptions.ExportFormatType =ExportFormatType.PortableDocFormat ; 

oRpt.Export(); 
oRpt.Close(); 

5.//读取报表导出的内容并传到客户端?继续加入以下代码 
Response.ClearContent(); 
Response.ClearHeaders (); 
Response.ContentType ="application/pdf"; 
Response.WriteFile("f:\\bbs\\test\\crystal\\crystalreport1.pdf"); 

Response.Flush(); 
Response.Close();? 
  
以上完全是个人使用总结 如有不对或可以改进的地方 请大家指正
 使用sql语句直接生成dataset做为报表的数据源!(2)

   oRpt.Load(RptDir);
   
   ...//根据sql语句得到DataSet 这个就不多说了

   oRpt.SetDataSource(ds);   
   CrystalReportViewer1.ReportSource=oRpt;

   //注意push模式用不到设置logOnInfo参数

10)运行试试看!应该没问题哦
在报表中显示多个表的字段(通过表关联)(3)

举个简单的例子:
员工表(员工编号  员工姓名  部门编号)
部门表(部门编号 部门名称)

要求是: select 员工表.员工姓名,部门表.部门姓名 from 员工表,部门表 where 员工表.部门编号=部门表.部门编号

操作步骤(列举几个比较重要 也是自己当时操作比较容易困惑的地方)
1.建xsd文件 直接拖入员工表和部门表  不要做任何字段关联
2.建rpt文件 选择员工表和部门表后 建立链接 员工表的部门编号---〉部门表的部门编号
3.建.aspx文件 拖入报表控件
4.在.aspx.cs中建立一个DataSet,里面是两张表,名称分别是员工表、部门表(和拖入XSD的名称保持 一致)
   sql语句分别为:
   select * from 员工表
   select * from 部门表

基本上就是这样 大家可以试着做一下 有什么问题可以一起讨论一下
水晶报表使用经验谈4--使用视图解决在报表中的多表关联问题

  最后把 v 绑定到rpt文件

基本上就是这样,还有问题的话大家请留言吧:)
水晶报表使用经验谈5--使用格式化编辑器

有时大家在做报表的时候会碰到做一些汇总表及明细表,并且客户会要求在看汇总表的时候可以看到相

应的明细表,大家很快会想到子报表,不错使用子报表能够到达这样的效果,但由于现系统中的汇总表

和明细表是2个查询页面,所以就没有使用子报表的方案,而是使用对汇总报表中的各个记录使用超链

并传参数的方法来解决的,下面就简单介绍一下具体的方法: 


1.报表当然是通过ReportView来呈现; 

2.让呈现的汇总报表中的记录带上超链接,链接到这条记录所对应的明细报表(看效果图),这就是本 

贴所要讲述的重点;
水晶报表使用经验谈(1-5)

水晶报表使用经验谈(1-5)

使用水晶报表自带的格式化编辑器就能很快解决这个问题(当然各位可能还有其他的好办法); 
具体做法请看图:

水晶报表使用经验谈(1-5)

(点击图片可看原图)

 其实,格式化编辑器还有很多功能,还望能和大家一起学习!


相关文章:

  • 2021-12-10
  • 2022-02-23
  • 2021-07-14
  • 2022-12-23
  • 2021-10-06
  • 2022-12-23
  • 2021-12-04
猜你喜欢
  • 2022-01-16
  • 2022-12-23
  • 2022-12-23
  • 2021-06-11
  • 2021-12-04
  • 2022-01-30
相关资源
相似解决方案