最近做数据分析要产生各种报表,于是采用了水晶报表,而其中PUSH模式是我们首选的方案。将过程分享给大家。
我们采用下面的几步使用Push模式执行水晶报表:
1. 设计一个DataSet
2. 创建一个.rpt文件同时将其指定给上一步建立的DataSet。
3. 在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。
4. 在代码中访问数据库并把数据存入DataSet
下面开始具体讲解:
1.新建一个网站工程,如图:

2 在网站工程中添加一个数据集,如图:

3在数据集的页面中右击添加TableAdapter,选择自己的数据库文件,点击下一步,直到如图:

点击添加,将数据库中的表添加进去(在此我的数据库只有一张表nusers)如图:


4在工程中添加水晶报表文件,
创建 .rpt 文件 :
a) 使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。
b)建立.rpt文件之后,右击“详细资料”-->"添加/删除数据库“
c) 在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“ADO.Net数据集”--"DataSet1“,选择”Stores“表。
d) 将”nusers"表添加到“选定的表”中,点击“OK”
如图:

出现创建导航,选择默认即可,确定后出现如下图:

一步步创建,如图:

其中,分组和记录选定可不用选择字段,直接点击完成即可。如图:

5在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。如图:

在其xxx.cs文件中书写代码。
代码如下:
using System;
using System.Collections;
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;
using System.Data.SqlClient;
namespace push
{
public partial class _Default : System.Web.UI.Page
{
//建立数据库连接字段
static string constr = "Data Source=PPL;Initial Catalog=testdemo;User ID=saData Source=PPL;Initial Catalog=testdemo;User ID=sa;password=sa";
SqlConnection con = new SqlConnection(constr);
SqlDataAdapter da;
//刚才创建的数据集
DataSet1 ds = new DataSet1();
protected void Page_Load(object sender, EventArgs e)
{
da = new SqlDataAdapter("select * from nusers",con);
da.Fill(ds, "nusers");
CrystalReport1 cry = new CrystalReport1();
cry.SetDataSource(ds);
//跟页面的控件相互绑定
CrystalReportViewer1.ReportSource = cry;
}
}
}
注意:fill中的表名必须和设计文件中的表名相同!
如
da.Fill(data);
rd.SetDataSource(data);
则不能正确展示报表的。
当然也可以使用这种方式!
da.Fill(data);
rd.SetDataSource(data.Tables[0]);
6在浏览器中运行显示。如图:

成功,今天的学习就到此吧。此方法不是最优的,只供学习入门使用,算是抛砖引玉吧。
分享到:
相关推荐
在水晶报表中,“推模式”(Push Mode)是一种数据检索策略,它与“拉模式”(Pull Mode)相对应,是理解水晶报表工作原理的关键概念。 **推模式详解:** 推模式,顾名思义,是数据源主动将数据“推送”到报表的...
【水晶报表PUSH模式详解】 水晶报表(Crystal Reports)是一款强大的报表设计工具,广泛应用于商业智能和数据分析领域。它的PUSH模式是报表处理的一种工作方式,对于理解和优化报表性能至关重要。PUSH模式,...
### 水晶报表内功心法:推拉模式详解 #### 一、概述 水晶报表作为一款功能强大的报表工具,被广泛应用于各种业务场景之中。对于初学者来说,掌握水晶报表的基础操作至关重要。其中,PULL(拉)模式与PUSH(推)...
【水晶报表使用详解】 水晶报表是一款强大的报表设计工具,广泛应用于C#.Net的WinForm和Asp.Net中,用于生成和展示各种复杂的业务报告。本文将详细介绍如何在开发环境中使用水晶报表,包括动态生成查询条件、处理...
#### 一、水晶报表程序控制模式详解 水晶报表作为一款广泛使用的商业智能工具,能够帮助开发者快速构建出各种复杂的报表。在开发过程中,选择合适的程序控制模式对于优化性能和简化代码至关重要。水晶报表支持两种...
水晶报表在VS2005中可以通过两种主要方式与数据进行交互:PULL模式和PUSH模式。PULL模式下,水晶报表直接从数据源拉取数据;而PUSH模式则是先在应用程序中创建数据集,再将此数据集推送给水晶报表。 #### PULL模式...
### 水晶报表PULL与PUSH模式详解:初学者入门指南 #### 引言 水晶报表(Crystal Reports)是一种强大的报表设计工具,广泛应用于各种业务场景中,用于生成和展示复杂的数据报告。在水晶报表的设计和实现过程中,...
### 水晶报表开发模式详解 #### 一、引言 水晶报表是一款广泛应用于企业级应用程序中的报表工具,能够帮助开发者快速构建出美观、功能丰富的报表。在使用水晶报表时,开发人员需要理解两种主要的工作模式:PULL模式...
2. **Push模式**:开发者需要自己编写代码连接数据库并组装DataSet,然后将数据集传递给水晶报表,这种方式可以优化性能,特别是在需要处理大量数据的情况下。 #### 七、报表类型 水晶报表支持两种类型的报表: 1...
### C#水晶报表:PULL与PUSH模式详解 #### 概述 水晶报表作为一款功能强大的报表工具,被广泛应用于各种应用场景之中。在C#编程环境下,它提供了丰富的API来帮助开发者创建、管理和渲染报表。水晶报表有两种主要的...
### ASP.NET水晶报表知识点详解 #### 一、水晶报表简介 水晶报表(Crystal Reports)是一款功能强大的商业智能工具,主要用于创建复杂的数据可视化报告。它能够从多种数据源中提取数据,如数据库、Excel表格等,并...
首先,水晶报表有两种执行模式:Pull模式和Push模式。 1. Pull模式:在Pull模式下,报表自身负责从数据库获取数据。当用户请求报表时,水晶报表会基于指定的数据库驱动程序直接连接数据库,然后根据设计好的查询...
**ASP.NET中水晶报表的使用详解** 水晶报表是用于生成复杂报表和数据分析的强大工具,尤其在ASP.NET环境中,它能够方便地与Web应用程序集成。在本文中,我们将深入探讨如何在ASP.NET中有效地使用水晶报表,包括其...
### 水晶报表实例详解 #### 一、水晶报表简介与应用场景 水晶报表(Crystal Reports)是一款广泛应用于各种开发环境下的报表设计工具,它能够帮助开发者轻松地创建复杂且美观的报表,并能灵活地从多种数据源获取数据...
在实际开发过程中,水晶报表可以通过两种主要模式来实现数据的展示:**Pull模式**和**Push模式**。此外,本文档还涉及了网页(Web)和窗体(Form)两种应用场景下的报表设计方法。 #### 水晶报表的数据获取方式 - **...
【水晶报表2005】是一款强大的报表设计工具,常用于生成各种复杂的业务报表。在本案例中,我们将深入理解如何使用水晶报表2005创建一个某高校学生成绩单的报表,涵盖从基础设置到数据源配置,以及报表布局和格式化的...
***中水晶报表的使用方法涉及到水晶报表的两种执行模式:Pull模式和Push模式,以及两种报表类型:StrongTyped报表和UnTyped报表。下面对这些知识点进行详细讲解: 1.水晶报表的执行模式 水晶报表的执行模式主要分为...