c# web crystal报表

1)创建数据集

1.右击应用程序——添加——新项目——创建数据集(DataSet.xsd)

2.在数据集(DataSet.xsd)中添加DataTable(Student)并添加列name。

2)创建Crystal报表

1.右击应用程序——添加——新项目——创建Crystal报表(CrystalReport.rpts)

2.在Crystal报表(CrystalReport.rpts)的编辑区域中右击——数据库——数据库专家——项目数据——ADO.NET数据集中找到我们第一步创建的DataTable(Student),将DataTable(Student)设为选定表——确定。

3.在Crystal报表(CrystalReport.rpts)的编辑区域中右击——字段资源管理器——数据库字段——DataTable(student)中的字段(name)添加到CryStal报表的详细资料中。

3)将CrystalReport.rpts添加到aspx页面中

1.在项目的“引用”中右键“添加引用”然后选择“.NET”标签下面的“CrystalDecisions.Web”

2.前台代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CrystalReportDemo._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="CrystalReportViewer" runat="server" AutoDataBind="true" />
    </div>
    </form>
</body>
</html>
3.后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CrystalDecisions.CrystalReports.Engine;
using System.Data;

namespace CrystalReportDemo
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            DataTable dt=GetDataTable();
            if (dt.Rows.Count > 0)
            {
                ReportDocument rd = new ReportDocument();
                rd.Load(Server.MapPath(@"~/CrystalReport.rpt"));
                rd.SetDataSource(dt);
                CrystalReportViewer.ReportSource = rd;
            }
           
        }
        /// <summary>
        /// 生成数据源
        /// </summary>
        /// <returns></returns>
        private DataTable GetDataTable()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("name"));
            DataRow dr = dt.NewRow();
            dr["name"] = "张三";
            dt.Rows.Add(dr);
            return dt;
        }
    }
}

你可能感兴趣的:(Web,数据库,server,C#,assembly,报表)