装好后要注册 注册号: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)
...//根据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--使用视图解决在报表中的多表关联问题
员工表(员工编号 员工姓名 部门编号)
部门表(部门编号 部门名称)
要求是: select 员工表.员工姓名,部门表.部门姓名 from 员工表,部门表 where 员工表.部门编号=部门表.部门编号
操作步骤(列举几个比较重要 也是自己当时操作比较容易困惑的地方)
1.建xsd文件 直接拖入员工表和部门表 不要做任何字段关联
2.建rpt文件 选择员工表和部门表后 建立链接 员工表的部门编号---〉部门表的部门编号
3.建.aspx文件 拖入报表控件
4.在.aspx.cs中建立一个DataSet,里面是两张表,名称分别是员工表、部门表(和拖入XSD的名称保持 一致)
sql语句分别为:
select * from 员工表
select * from 部门表
基本上就是这样 大家可以试着做一下 有什么问题可以一起讨论一下
水晶报表使用经验谈4--使用视图解决在报表中的多表关联问题
最后把 v 绑定到rpt文件
基本上就是这样,还有问题的话大家请留言吧:)
水晶报表使用经验谈5--使用格式化编辑器
基本上就是这样,还有问题的话大家请留言吧:)
水晶报表使用经验谈5--使用格式化编辑器
有时大家在做报表的时候会碰到做一些汇总表及明细表,并且客户会要求在看汇总表的时候可以看到相
应的明细表,大家很快会想到子报表,不错使用子报表能够到达这样的效果,但由于现系统中的汇总表
和明细表是2个查询页面,所以就没有使用子报表的方案,而是使用对汇总报表中的各个记录使用超链
并传参数的方法来解决的,下面就简单介绍一下具体的方法:
1.报表当然是通过ReportView来呈现;
2.让呈现的汇总报表中的记录带上超链接,链接到这条记录所对应的明细报表(看效果图),这就是本
贴所要讲述的重点;
使用水晶报表自带的格式化编辑器就能很快解决这个问题(当然各位可能还有其他的好办法);
具体做法请看图:
(点击图片可看原图)
其实,格式化编辑器还有很多功能,还望能和大家一起学习!