• Asp.net中水晶报表的简单使用


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

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

    先做一个很简单的小例子。新建一个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;

           Seesion[“fileName”]=strName;

    }

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

           在整个过程中重要的还是水晶报表文件的建立,水晶报表的创建有pullpush两种模式,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 ReportDoument();

    ReportDoc.Load(Server.MpaPath("CrystalReport.rpt"));

    CrystalReportViewer1.ReportSource=ReportDoc;

    F5运行就可以看到结果。

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

  • 相关阅读:
    【小贴士】zepto find元素以及ios弹出键盘可能让你很头疼
    【iScroll源码学习04】分离IScroll核心
    【iScroll源码学习03】iScroll事件机制与滚动条的实现
    展望14,献给困惑的初级前端,理想不甘消磨,目标不能停滞!
    【iScroll源码学习02】分解iScroll三个核心事件点
    原生andriod浏览器回退后dom(click)事件全体失效问题探究
    【iScroll源码学习01】准备阶段
    【iScroll源码学习00】模拟iScroll
    【再探backbone 03】博客园单页应用实例(提供源码)
    【再探backbone 02】集合-Collection
  • 原文地址:https://www.cnblogs.com/nianshi/p/651239.html
Copyright © 2020-2023  润新知