水晶报表(CrystalReports)的简单应用(ASP.NET)

Visual studio 2008 自带水晶报表10

ASP.NET网站中的简单应用

本次示例目的只是让刚接触水晶报表的朋友掌握其应用,因此示例以简单,简洁,清晰为主,没有连接后台数据库。

Visual studio 2008新建asp.net网站CrystalReportsDemo如图:

右击项目——>添加引用:

添加一个实体类DemoModel.cs

本网站没有采用任何开发模式,所以类代码应该放到asp.net文件夹App_Code里,

可以先在项目里新建此文件夹,也可以在添加类时根据系统提示新建:

DemoModel.cs的内容如下:

[csharp] view plain copy
  1. using System;  
  2. using System.Data;  
  3. using System.Configuration;  
  4. using System.Linq;  
  5. using System.Web;  
  6. using System.Web.Security;  
  7. using System.Web.UI;  
  8. using System.Web.UI.HtmlControls;  
  9. using System.Web.UI.WebControls;  
  10. using System.Web.UI.WebControls.WebParts;  
  11. using System.Xml.Linq;  
  12.   
  13. /// <summary>  
  14. ///DemoModel 一个实体对象  
  15. /// </summary>  
  16. public class DemoModel  
  17. {  
  18.     public DemoModel()  
  19.     {   }  
  20.     public DemoModel(string id,string name)  
  21.     {  
  22.         this.id = id;  
  23.         this.name = name;  
  24.     }  
  25.     private string id;//编码  
  26.   
  27.     public string Id  
  28.     {  
  29.         get { return id; }  
  30.         set { id = value; }  
  31.     }  
  32.     private string name;//名称  
  33.   
  34.     public string Name  
  35.     {  
  36.         get { return name; }  
  37.         set { name = value; }  
  38.     }  
  39. }  

右击项目——>添加新项——>Crystal报表

命名为:CrystalReport.rpt 确定后会自动弹出以下提示:

创建新的Crystal Report 文档有三种选择:

可以选择空报表然后在打开的报表中右键——>报表专家(效果一样),

默认使用报表向导,选择专家为标准(一般就会用到),点击确定

项目数据——>.Net对象

看到刚才添加的实体对象DemoModel.cs当然这只是数据源的一种

注:上面这个实体类和水晶报表文件属同一程序集可以找到,当网站采用N层模式开发时,

实体类另为一程序集,在这里就不能这样找到了,可以采取别的数据源

选中DemoModel 添加到右侧如下图:

点击下一步对报表具体要显示的字段进行设置

这里自己定义报表格式,直接点击完成

左侧可以看到上面有报表头,页眉,详细资料,报表尾,页脚这些都为设计报表格式提供方便,在相应区域点击

右键可以对其进行设置,当会应用水晶报表之后可以尝试,在这里我们只对详细资料区,进行简单设置从右侧,字段资源管理器

数据库字段,找到刚才添加的数据源DemoModel,可以看到对象的属性,将要显示的字段拖到左侧 详细资料区如图:

当然这里的显示的样式可以自己定义,大家可以尝试,右键有很多操作此报表涉及到参数,在右侧字段资源管理器

参数字段(右击)——新建:

点击确定(参数字段中添加一个参数args_1),按上述方法再同样添加一个参数args_2 如图:

在报表里要显示从外部传过来的两个参数值,现在将参数字段中的两个参数拖到报表的页眉区:

在页眉区的显示的id,name字段是报表的表头,我们可以自己定义名称,右击——>编辑文本对象(改名):

到此对报表的设置完成,保存,关闭水晶报表窗口

这时项目目录如图:

下面在页面Default.aspx中显示刚刚设计的水晶报表

从工具箱报表一栏中拖一个可以显示水晶报表的控件

CrystalReportViewer其它工作都可以不做,

Default.aspx页面内的代码如下:

  1. <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>  
  2. <%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"  
  3.     Namespace="CrystalDecisions.Web" TagPrefix="CR" %>  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  5. <html xmlns="http://www.w3.org/1999/xhtml">  
  6. <head runat="server">  
  7.     <title>无标题页</title>  
  8. </head>  
  9. <body>  
  10.     <form id="form1" runat="server">  
  11.     <div>  
  12.         <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />  
  13.     </div>  
  14.     </form>  
  15. </body>  
  16. </html>  

Default.aspx.cs页面后置类的内容如下:

[csharp] view plain copy
  1. using System;  
  2. using System.Configuration;  
  3. using System.Data;  
  4. using System.Linq;  
  5. using System.Web;  
  6. using System.Web.Security;  
  7. using System.Web.UI;  
  8. using System.Web.UI.HtmlControls;  
  9. using System.Web.UI.WebControls;  
  10. using System.Web.UI.WebControls.WebParts;  
  11. using System.Xml.Linq;  
  12.   
  13. //引入命名空间  
  14. //用到List,并且有泛型  
  15. using System.Collections;  
  16. using System.Collections.Generic;  
  17. using CrystalDecisions.Shared;  
  18. using CrystalDecisions.CrystalReports.Engine;  
  19.   
  20. public partial class _Default : System.Web.UI.Page   
  21. {  
  22.     protected void Page_Load(object sender, EventArgs e)  
  23.     {  
  24.         //创建报表文档  
  25.         ReportDocument myReport = new ReportDocument();  
  26.         //取到报表文件物理路径  
  27.         string reportPath = Server.MapPath("~/CrystalReport.rpt");  
  28.         //加载报表文件  
  29.         myReport.Load(reportPath);  
  30.   
  31.         //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
  32.         /*报表显示需要的参数,这里我们是自己定义两个参数根据参数 */  
  33.         string args_1 = "第一个参数";  
  34.         string args_2 = "第二个参数";  
  35.         //将定义好的两个外部参数传入报表  
  36.   
  37.         ParameterFields paramFields = new ParameterFields();  
  38.   
  39.         ParameterField pargs_1 = new ParameterField();  
  40.         ParameterField pargs_2 = new ParameterField();  
  41.         // 设置在报表中,将要接受的参数字段的名称  
  42.         pargs_1.ParameterFieldName = "args_1";  
  43.         pargs_2.ParameterFieldName = "args_2";  
  44.   
  45.         ParameterDiscreteValue pdargs_1 = new ParameterDiscreteValue();  
  46.         ParameterDiscreteValue pdargs_2= new ParameterDiscreteValue();  
  47.   
  48.         pdargs_1.Value = args_1;  
  49.         pdargs_2.Value = args_2;  
  50.   
  51.         pargs_1.CurrentValues.Add(pdargs_1);  
  52.         pargs_2.CurrentValues.Add(pdargs_2);  
  53.   
  54.         paramFields.Add(pargs_1);  
  55.         paramFields.Add(pargs_2);  
  56.     
  57.         // 将参数集合绑定到报表浏览控件  
  58.         this.CrystalReportViewer1.ParameterFieldInfo = paramFields;  
  59.         //参数设置完成  
  60.         //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  
  61.   
  62.         //***************************************************************  
  63.         /*由于没有连接数据库,所以我们为了显示效果来自己添加一个数据源  
  64.          在报表中我们用到了实体对象,在这里我们自己手动加入以下几个对象  
  65.          并装入一个List集合中,当然以后要是连接数据库也是主要修改数据源  
  66.          其它不用太大改动*/  
  67.         DemoModel dm1 = new DemoModel("10001","demo1");  
  68.         DemoModel dm2 = new DemoModel("10002""demo2");  
  69.         DemoModel dm3 = new DemoModel("10003""demo3");  
  70.         DemoModel dm4 = new DemoModel("10004""demo4");  
  71.         List<DemoModel> dmList = new List<DemoModel>();  
  72.         dmList.Add(dm1);  
  73.         dmList.Add(dm2);  
  74.         dmList.Add(dm3);  
  75.         dmList.Add(dm4);  
  76.         //至此数据源对象添加完毕  
  77.         //*****************************************************************  
  78.   
  79.         //为新的报表文档设置数据源  
  80.         myReport.SetDataSource(dmList);  
  81.         //将创建的新的报表文档绑定  
  82.         this.CrystalReportViewer1.ReportSource = myReport;  
  83.         this.CrystalReportViewer1.DataBind();  
  84.     }  
  85. }  

以实体对象为水晶报表数据源

加入参数的开发方式完毕,编译运行后可以得到如下效果:

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Crystal Reports for .NET Framework 2.0是一款用于.Net Framework 2.0的报表设计和生成工具。它是由SAP公司推出的一种灵活易用的报表工具,可用于生成高质量的企业级报表。 要下载Crystal Reports for .NET Framework 2.0,可以按照以下步骤进行: 1. 打开您的Web浏览器,并在搜索引擎中搜索Crystal Reports for .NET Framework 2.0下载。 2. 找到SAP官方网站或其它可信赖的软件下载网站。 3. 在搜索框中输入“Crystal Reports for .NET Framework 2.0”进行搜索。 4. 在搜索结果中找到适用于.Net Framework 2.0的Crystal Reports版本,通常会标明支持的软件版本。 5. 点击下载链接,将会开始下载安装程序到您的计算机中。 6. 下载完成后,双击安装程序并按照指示进行安装。 7. 在安装过程中,您可能需要接受软件许可协议和选择安装选项。 8. 等待安装完成后,您将能够在您的计算机上找到Crystal Reports for .NET Framework 2.0的程序图标。 9. 点击该图标启动Crystal Reports for .NET Framework 2.0。 Crystal Reports for .NET Framework 2.0提供了一套强大的工具和功能,使您能够轻松设计、生成和分发各种类型的报表。它支持多种数据源,包括数据库、Excel文件和Web服务。它还具有丰富的报表设计功能,如图表、子报表、条件格式化和参数等。此外,它还可以将报表导出为PDF、Word和Excel文件格式,方便与他人共享和打印。 总之,通过按照上述步骤下载和安装Crystal Reports for .NET Framework 2.0,您将能够轻松使用这款强大的报表工具来满足您的报表设计和生成需求。 ### 回答2: Crystal Reports for .NET Framework 2.0是一款强大的报表生成工具,可以与.NET Framework 2.0一起使用。通过使用Crystal Reports,开发人员可以轻松地在应用程序中创建、编辑和展示专业的报表。 要下载Crystal Reports for .NET Framework 2.0,您可以按照以下步骤进行操作: 1. 打开您的Web浏览器,并访问SAP官方网站。 2. 在网站的搜索栏中输入"Crystal Reports for .NET Framework 2.0下载",然后点击搜索按钮。 3. 在搜索结果中,找到官方的Crystal Reports for .NET Framework 2.0下载页面,并点击进入。 4. 在下载页面中,您会看到不同版本的Crystal Reports。请确保选择适用于.NET Framework 2.0的版本。 5. 单击下载链接,然后选择保存文件的位置。 6. 下载完成后,找到保存的文件,并双击运行安装程序。 7. 按照安装向导中的指示,完成Crystal Reports for .NET Framework 2.0的安装过程。 安装完成后,您就可以在.NET Framework 2.0的开发环境中使用Crystal Reports了。它提供了丰富的功能和工具,让您能够灵活地设计和生成各种类型的报表。 总之,Crystal Reports for .NET Framework 2.0是一款非常实用的报表生成工具,可以帮助开发人员快速创建专业的报表。通过按照上述步骤下载和安装,您可以轻松地开始使用它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值