Fork me on GitHub

Crystal Reports第一张报表

 
新建一个网站项目,

1.   设置数据库

从服务器资源管理器中,数据连接中添加新连接,用Microsoft Access数据库文件作为数据提供程序,连接上Crystal Reports的用例的数据库Xtreme

2.   创建新Crystal Reports报表

在工程项目中添加一个Crystal Reports的报表,名称为CR1.rpt.

3.   添加XML架构文件

在工程中添加一个xml架构文件,因为xml架构文件本身也是一个xml文件,名称为订单.xsd,为了便捷操作,可以选择该文件,在打开方式中选择数据集编辑器.然后选择xtreme库中的订单表,拖放到本xml架构文件中,就会自动生成一个订单的文件,在这里,只用到该表的架构,也就是字段框架的信息,所以自动生成的TableAdapter是没有用处的,可以删掉.

4.   添中字段到字段资源管理器上

打开字段资源管理,右键数据库字段,选择数据库专家,在这里我们用ADO.NET来做数据源,双击创建新连接下的ADO.NET先项,在弹出的ADO.NET面板上,选择文件路径,选择上面创建的订单.xsd,然后添加到数据库字段中,这时我们会看到,在字段资源管理器下多了一个订单,展开订单,会看到所有字段.(xsd文件是为了设计报表时,能利用字段,所以xsd在这时百作为表字段的一个架构文件)

 

打开建好的CR1.rpt,来开始真正的设计报表,现在要出一个合部订单的详细报表.

在报表设计时,字段资源管理器是一个非常重要的面板,因为大部分数据都是通过这里的实现的,不但有数据库字段,还有一些公式,参数,组名,运行总计,还有特殊的字段.关于字段,在以后的文章中去说.

现在我们在订单中,选择订单地ID,订单金额,订单日期,已发货,已收货款几个字段,分别放入CR1.rpt报表的详细资料节中,系统会自动在页眉处理添加相同的字段,如下图

图1

CR1.rpt中其实就是一个设计报表的环境,如果采用ADO.NET连接数据库,CR1.rpt就能成为报表的架构设计了(数据是采用拉模式实现的),具体的数据,要在页面中去实现.

 

在aspx页面中,放一个CrystalReportViewer控件,命名为CRV1,在页面的Load事件订阅的方法中写入下列代码:

            string path = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|"xtreme.mdb;Persist Security Info=True";

            string sql = "select * from 订单 ";

            OleDbDataAdapter DA = new OleDbDataAdapter(sql, path);

            DataTable DT = new DataTable();

            DA.Fill(DT);

            Session["dt"] = DT;

            ViewState["d"] = 0;       

            ReportDocument doc = new ReportDocument();

            doc.Load(Server.MapPath(@"CR1.rpt"));

            doc.SetDataSource((DataTable)Session["dt"]);

       CrystalReportViewer1.ReportSource = doc;

这样,就实现了一个简单的界面来预览报表的样式.

报表设计的思路就是用rpt文件来设计报表样式,报表的数据在单独的类中实现.
posted @ 2009-03-27 15:25  桂素伟  阅读(1478)  评论(0编辑  收藏  举报