zoukankan      html  css  js  c++  java
  • 水晶报表的简单使用

    Crystal Reports是具有强大内容创建和集成功能的高效的报表技术,是第三方开发的报表工具,使用水晶报表我们可以更好地向用户展示数据。以前可以通过编程的方式将数据集中的数据进行处理后在windows应用程序或web应用程序中输出显示,但如果要做超出了基本格式化的一些工作如:求和、平均、多极汇总、制作图标等就会显得比较复杂,而水晶报表正好弥补了其中的不足。

    在windows应用程序和web应用程序中我们都可以使用水晶报表,不过在windows应用程序中的水晶报表要比web应用程序中的功能强大,可以很容易地实现打印和导出功能。在这儿只讨论一下在asp.net中水晶报表的一些简单使用。

    在asp.net中使用水晶报表专家,可以很快速地创建报表,虽然水晶报表是第三方开发的,但在vs2003中水晶报表已经成为了开发环境的一个组成部分。先做一个很简单的小例子。新建一个web应用程序,在页面上添加工具箱中web窗体下的Button控件,CrystalReportViewer控件(这个就是水晶报表控件)和html下的File Field控件。File Field控件可以让我们从本地选择一个文件,要想实现水晶报表的显示我们首先需要一个水晶报表文件,该文件的后缀为rpt,这个文件可以通过添加新项添加。现在假设已经有一个水晶报表文件,通过以下几步就可以在页面上显示。

    一、双击页面进入代码环境在page_load事件中添加如下代码:

    if(Session["filename"]!=null)
    {
        CrystalReportViewer1.ReportSource = Session["filename"].ToString();
    }

    这段代码主要是将文件的名字保存在session里面在pageload事件中加以判断,避免在刷新页面的时候出现错误。

    二、在Button按钮的单击事件中添加以下代码:

    string strName = File1.PostedFile.FileName;
    if(strName.Trim()!="")
    {
        CrystalReportViewer1.ReportSource = strName;
        Session["filename"] = strName;
    }

    然后按F5运行,选择一个已经做好的rpt文件,点击按钮就可以看见页面上显示的报表结果了。

    在整个过程中重要的还是水晶报表文件的建立,水晶报表的创建有pull和push两种模式,pull模式是直接指定数据库驱动然后组装这些数据,push模式需要自己写代码来连接数据库,并将它们传至报表,push模式比pull要更灵活。

    由于篇幅原因先说一下pull模式:

    在页面中添加一个rpt文件,这时会弹出一个对话框,选择作为空白报表然后点击确定。

    在右边的“字段资源管理器”中右键点击“数据库字段”选择“添加删除数据库”,会弹出数据库专家的对话框,选择可用数据源中的OLEDB(ADO)根据向导创建数据库的连接。

    建立好数据库连接后可以将数据库中的表加到报表中,然后就可以将我们要显示的字段总结拖到rpt文件中的详细资料中,并且在页眉会自动添加字段名,这个名字是可以根据自己的喜好更改的。

    这样一个很简单的报表就做好的,当然报表的功能远远不止这些,下面就该写代码了。

    1、首先要导入命名空间

    using CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.Shared;

    2、命名空间导入后就要申明一个ReportDocument类的对象

    ReportDocument ReportDoc;

    3、最后在pageload事件中加入下面代码就ok了

    ReportDoc = new ReportDocument();
    ReportDoc.Load(Server.MapPath("CraystalReport.rpt"));
    CrystalReportViewer1.ReportSource = ReportDoc;

    按F5运行就可以看到结果,这只是最最简单的一个小例子,要了解水晶报表的强大功能还需要不断努力学习,在vs2003中rpt的界面非常傻瓜化,只要右击页面就可以插入狠多东西,如图片、图表、汇总等等,有待日后慢慢尝试了

    就写到这儿了,继续学习中………

  • 相关阅读:
    Android热补丁动态修复
    Android用gif做启动页
    如果通过adb查看当前显示的activity
    Android网络框架比较
    Android高清巨图加载方案
    一些Windows下经验
    工作总结
    C++网络编程总结
    编写导出库
    GridCtrl控件的使用
  • 原文地址:https://www.cnblogs.com/oec2003/p/735658.html
Copyright © 2011-2022 走看看