• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP.NET中水晶报表的使用方法详解

    前一段时间,由于在项目中要用到报表做统计,所以我学习了一下ASP.NET水晶报表的使用。水晶报表的执行模式(也就是取数据的方法)可以分为两种:

    第一种是Pull模式:被请求时,水晶报表直接根据指定的驱动连接数据库然后组装这些数据。

    另外一种就是Push模式:此时开发者不得不自己编写代码连接数据并组装DataSet,同时将它传送至报表。在些这种情况下,通过使用连接共享以及限制记录集合的大小,可以使用报表性能最大化。

    水晶报表中的报表类型也分为两种:

    --StrongTyped 报表: 当你将报表文件加入到项目中去时,它就变成了一个了“ strongly-typed“报表。在这些情况下,你将拥有直接创建报表的对象的权力,这将减少一些代码并且能够提供一些性能。

    --UnTyped报表:这里的报表并不直接包含在项目中,因此称为‘un-typed' 报表。在这种情况下,你不得不使用水晶报表的”ReportDocuemt“对象建立一个实例,并且”手动“地凋用报表。

    使用Pull模式   我们将通过下面的这些步骤来通过Pull模式来执行水晶报表
      1.首先创建rpt文件,并使用水晶报表设计接口设置一些必须的数据连接。
      2.拖放一个 CrystalReportViewer控件至aspx页面,设置它的属性指定我们上一步创建的.rpt文件。
      3. 在代码中调用DataBind方法。

    复制代码 代码如下:

    ReportDocument  ReportDoc  = new  ReportDocument();
    ReportDoc.Load(Server.MapPath("MyPullDemo.rpt"));
    #region 解决登录错误问题
    TableLogOnInfo  logonInfo  = new TableLogOnInfo();//
    foreach( CrystalDecisions.CrystalReports.Engine.Table tb in ReportDoc.Database.Tables)
    {
    logonInfo = tb.LogOnInfo;
    logonInfo.ConnectionInfo.ServerName = "(local)";
    logonInfo.ConnectionInfo.DatabaseName = "myDatabase";//
    logonInfo.ConnectionInfo.UserID = "sa";
    logonInfo.ConnectionInfo.Password = "sa1234";//
    tb.ApplyLogOnInfo(logonInfo);
    }
    #endregion
    CrystalReportViewer1.ReportSource = ReportDoc;

    CrystalReportViewer1.DataBind();


    使用PUSH模式
      我们采用下面的几步使用Push模式执行水晶报表:
      1. 设计一个DataSet
      2. 创建一个.rpt文件同时将其指定给上一步建立的DataSet。
      3. 在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。
      4. 在代码中访问数据库并把数据存入DataSet
      5. 调用DataBind方法。

    复制代码 代码如下:

    ReportDocument ReportDoc = new ReportDocument();
    ReportDoc.Load(Server.MapPath("MyPushDemo.rpt"));
    string strProvider = "Server=(local);DataBase=myDatabase;UID=sa;PWD=sa1234";
    SqlConnection MyConn = new SqlConnection(strProvider);
    MyConn.Open();
    string strSel = "Select * from SaleOfCuntry";
    SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);

    --这里的ds与.rpt文件连接数据库所用的DataSet结构完全相同,名称可以不同

    建立.rpt文件时DataSet的作用是为rpt文件提供一种架构。

    这里 用dataadapter填充数据集的一个实例,作为报表的数据源。

    复制代码 代码如下:

    DataSet ds = new DataSet();
    MyAdapter.Fill(ds,"SaleOfCuntry");
    ReportDoc.SetDataSource(ds);
    Crv.ReportSource = ReportDoc;

    Crv.DataBind();

    您可能感兴趣的文章:
    • 水晶报表asp.net的webform下基本用法实例
    • asp.net 水晶报表隔行换色实现方法
    • ASP.NET 水晶报表打印功能实现代码
    • VS2010 水晶报表的使用方法
    • VS2005 水晶报表在时部署时遇到的问题
    • .NET 水晶报表使用代码
    • 什么是水晶报表与水晶报表功能分析
    • asp.net水晶报表参数字段在代码中赋值的方法
    上一篇:ASP.NET中URL Rewrite的具体实现方法
    下一篇:ASP.NET实现TreeView的XML数据源绑定实例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP.NET中水晶报表的使用方法详解 ASP.NET,中,水晶,报表,的,