• —(一)水晶报表(CrystalReports)的简单应用(配置及发布)


    u     Visual studio 2008 自带水晶报表10

    u     asp.net网站中的简单应用

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

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

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


          添加一个实体类DemoModel.cs

          本网站没有采用任何开发模式,所以类代码应该放到asp.net文件夹App_Code里,可以先在项目里新建此文件夹,也可以在添加类时根据系统提示新建:


          DemoModel.cs的内容如下:

    using System;

    using System.Data;

    using System.Configuration;

    using System.Linq;

    using System.Web;

    using System.Web.Security;

    using System.Web.UI;

    using System.Web.UI.HtmlControls;

    using System.Web.UI.WebControls;

    using System.Web.UI.WebControls.WebParts;

    using System.Xml.Linq;

    /// <summary>

    ///DemoModel 一个实体对象

    /// </summary>

    public class DemoModel

    {

           public DemoModel()

           {      }

        public DemoModel(string id,string name)

        {

            this.id = id;

            this.name = name;

        }

        private string id;//编码

        public string Id

        {

            get { return id; }

            set { id = value; }

        }

        private string name;//名称

        public string Name

        {

            get { return name; }

            set { name = value; }

        }

     

    }

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

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

    创建新的Crystal Report 文档有三种单选,选择专家有三种:


          可以选择空报表然后在打开的报表中右键——>报表专家(效果一样),默认使用报表向导,选择专家为标准(一般就会用到),点击确定


          项目数据——>.Net对象

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

    注:上面这个实体类和水晶报表文件属同一程序集可以找到,当网站采用N层模式开发时,实体类另为一程序集,在这里就不能这样找到了,可以采取别的数据源

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

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

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


          左侧可以看到上面有报表头,页眉,详细资料,报表尾,页脚这些都为设计报表格式提供方便,在相应区域点击右键可以对其进行设置,当会应用水晶报表之后可以尝试,在这里我们只对详细资料区,进行简单设置

    从右侧,字段资源管理器

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


          当然这里的显示的样式可以自己定义,大家可以尝试,右键有很多操作

    注:此报表并未涉及到变量,所以至此,报表设计完毕,保存

    关闭报表窗口,这时项目目录如图:


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

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

    CrystalReportViewer其它工作都可以不做,

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

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"

        Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

        <title>无标题页</title>

    </head>

    <body>

        <form id="form1" runat="server">

        <div>

            <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />

        </div>

        </form>

    </body>

    </html>

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

    using System;

    using System.Configuration;

    using System.Data;

    using System.Linq;

    using System.Web;

    using System.Web.Security;

    using System.Web.UI;

    using System.Web.UI.HtmlControls;

    using System.Web.UI.WebControls;

    using System.Web.UI.WebControls.WebParts;

    using System.Xml.Linq;

    //引入命名空间

    //用到List,并且有泛型

    using System.Collections;

    using System.Collections.Generic;

    using CrystalDecisions.Shared;

    using CrystalDecisions.CrystalReports.Engine;

    public partial class _Default : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            //创建报表文档

            ReportDocument myReport = new ReportDocument();

            //取到报表文件物理路径

            string reportPath = Server.MapPath("~/CrystalReport.rpt");

            //加载报表文件

            myReport.Load(reportPath);

            //***************************************************************

            /*由于没有连接数据库,所以我们为了显示效果来自己添加一个数据源

             在报表中我们用到了实体对象,在这里我们自己手动加入以下几个对象

             并装入一个List集合中,当然以后要是连接数据库也是主要修改数据源

             其它不用太大改动*/

            DemoModel dm1 = new DemoModel("10001","demo1");

            DemoModel dm2 = new DemoModel("10002", "demo2");

            DemoModel dm3 = new DemoModel("10003", "demo3");

            DemoModel dm4 = new DemoModel("10004", "demo4");

            List<DemoModel> dmList = new List<DemoModel>();

            dmList.Add(dm1);

            dmList.Add(dm2);

            dmList.Add(dm3);

            dmList.Add(dm4);

            //至此数据源对象添加完毕

            //*****************************************************************

            //为新的报表文档设置数据源

            myReport.SetDataSource(dmList);

            //将创建的新的报表文档绑定

            this.CrystalReportViewer1.ReportSource = myReport;

            this.CrystalReportViewer1.DataBind();

        }

    }

     

  • 相关阅读:
    正则表达式语法学习
    微软开放WP开发者回复用户应用评论功能
    下载安全程序需谨慎 黑客盯上XP用户
    软件业进入由大变强关键期
    54%的恶意程序无法被检测出
    CSS:第1课
    Javascript疑问【长期更新】
    不同语言的注释【长期更新】
    定制博客CSS样式
    认识Html DOM
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1709739.html
Copyright © 2020-2023  润新知