`
zhangziyangup
  • 浏览: 1187221 次
文章分类
社区版块
存档分类
最新评论

水晶报表十二式-------详解PULL模式

 
阅读更多

在前一篇中,讲解了PULL和PUSH模式的区别。
本节中主要是从无到有地讲解一下如何使用PULL模式来做一个报表。
因本文主要针对初学者,所以每个步骤都抓了图。

1.新建一个项目解决方案。如图:

2.在项目上右击添加新项,参照如下图:

3.点击添加后出现如下对画框:

4.选择默认的选项即可,点击确定。

5.继续点击下一步添加字段或者直接完成。我在这里直接点击的完成。出现如下界面:

(我已经将图的右上角上的字段拖到了控件的详细资料中)

6.你可以点击下角的“主报表预览”查看一下效果。如图:

7.添加在web页面显示。首先打开项目里的web页面,在其中添加报表控件。

8.书写代码,代码上场(实质上代码也有好几种写法,不过原理基本一样,此处可直接照搬,等以后大家熟悉了再自行尝试吧)。代码如下:

代码片段:

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 CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;

namespace test1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ConfigureCrystalReports();
}

private ReportDocument myReport;

private void ConfigureCrystalReports()
{


// 定义ReportDocument对象,装载Crystalreport1.rpt
myReport = new ReportDocument();
string reportPath = Server.MapPath("test1.rpt");
myReport.Load(reportPath);


//定义水晶报表的数据库连接信息
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.DatabaseName = "testdemo";
connectionInfo.UserID = "sa";
connectionInfo.Password = "sa";
connectionInfo.ServerName = "ppl";

//将数据库信息传递给报表
SetDBLogonForReport(connectionInfo, myReport);

//把模板对象赋给报表前端呈现控件CrystalReportViewer1
CrystalReportViewer1.ReportSource = myReport;
}

private void SetDBLogonForReport(ConnectionInfo connectionInfo, ReportDocument reportDocument)
{
Tables tables = reportDocument.Database.Tables;

foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
TableLogOnInfo tableLogonInfo = table.LogOnInfo;
tableLogonInfo.ConnectionInfo = connectionInfo;
table.ApplyLogOnInfo(tableLogonInfo);

}
}
}
}

运行效果如下:

很简单吧,呵呵。
通过更改代码里的数据库连接,可以切换到不同的数据库上去
前提是,目标库中用到的表名及结构要是一样的。

分享到:
评论

相关推荐

    【水晶报表内功心法】--推拉之间

    ### 水晶报表内功心法:推拉模式详解 #### 一、概述 水晶报表作为一款功能强大的报表工具,被广泛应用于各种业务场景之中。对于初学者来说,掌握水晶报表的基础操作至关重要。其中,PULL(拉)模式与PUSH(推)...

    水晶报表使用详解

    【水晶报表使用详解】 水晶报表是一款强大的报表设计工具,广泛应用于C#.Net的WinForm和Asp.Net中,用于生成和展示各种复杂的业务报告。本文将详细介绍如何在开发环境中使用水晶报表,包括动态生成查询条件、处理...

    水晶报表 push模式(推模式)

    在水晶报表中,“推模式”(Push Mode)是一种数据检索策略,它与“拉模式”(Pull Mode)相对应,是理解水晶报表工作原理的关键概念。 **推模式详解:** 推模式,顾名思义,是数据源主动将数据“推送”到报表的...

    水晶报表详解

    ### 水晶报表详解 #### 一、水晶报表程序控制模式详解 水晶报表作为一款广泛使用的商业智能工具,能够帮助开发者快速构建出各种复杂的报表。在开发过程中,选择合适的程序控制模式对于优化性能和简化代码至关重要...

    水晶报表 通俗易懂 优秀的入门教程

    ### 水晶报表PULL与PUSH模式详解:初学者入门指南 #### 引言 水晶报表(Crystal Reports)是一种强大的报表设计工具,广泛应用于各种业务场景中,用于生成和展示复杂的数据报告。在水晶报表的设计和实现过程中,...

    水晶报表(通俗易懂,优秀的入门教程)(100多页,图文并茂)

    ### 水晶报表开发模式详解 #### 一、引言 水晶报表是一款广泛应用于企业级应用程序中的报表工具,能够帮助开发者快速构建出美观、功能丰富的报表。在使用水晶报表时,开发人员需要理解两种主要的工作模式:PULL模式...

    水晶报表使用说明和教程

    水晶报表在VS2005中可以通过两种主要方式与数据进行交互:PULL模式和PUSH模式。PULL模式下,水晶报表直接从数据源拉取数据;而PUSH模式则是先在应用程序中创建数据集,再将此数据集推送给水晶报表。 #### PULL模式...

    Asp.Net中使用水晶报表

    ### ASP.NET中使用水晶报表详解 #### 一、引言 水晶报表(Crystal Reports)是商业智能领域中的一款强大工具,广泛应用于各种平台上的应用程序开发,包括ASP.NET。本文将详细介绍如何在ASP.NET中集成水晶报表,...

    C#水晶报表

    ### C#水晶报表:PULL与PUSH模式详解 #### 概述 水晶报表作为一款功能强大的报表工具,被广泛应用于各种应用场景之中。在C#编程环境下,它提供了丰富的API来帮助开发者创建、管理和渲染报表。水晶报表有两种主要的...

    ASP.NET水晶报表

    在ASP.NET环境中使用水晶报表,可以通过两种主要模式实现:**Push模式**和**Pull模式**。本章节重点介绍**Push模式**的应用流程和技术细节。 ##### 1. 设计一个DataSet - **步骤一:创建DataSet** - 在Visual ...

    水晶报表PUSH模式

    【水晶报表PUSH模式详解】 水晶报表(Crystal Reports)是一款强大的报表设计工具,广泛应用于商业智能和数据分析领域。它的PUSH模式是报表处理的一种工作方式,对于理解和优化报表性能至关重要。PUSH模式,...

    【ASP.NET编程知识】ASP.NET中水晶报表的使用方法详解.docx

    首先,水晶报表有两种执行模式:Pull模式和Push模式。 1. Pull模式:在Pull模式下,报表自身负责从数据库获取数据。当用户请求报表时,水晶报表会基于指定的数据库驱动程序直接连接数据库,然后根据设计好的查询...

    ASP.NET中水晶报表的使用

    **ASP.NET中水晶报表的使用详解** 水晶报表是用于生成复杂报表和数据分析的强大工具,尤其在ASP.NET环境中,它能够方便地与Web应用程序集成。在本文中,我们将深入探讨如何在ASP.NET中有效地使用水晶报表,包括其...

    水晶报表实例

    ### 水晶报表实例详解 #### 一、水晶报表简介与应用场景 水晶报表(Crystal Reports)是一款广泛应用于各种开发环境下的报表设计工具,它能够帮助开发者轻松地创建复杂且美观的报表,并能灵活地从多种数据源获取数据...

    vs2005水晶报表1小时速成教程.txt

    在实际开发过程中,水晶报表可以通过两种主要模式来实现数据的展示:**Pull模式**和**Push模式**。此外,本文档还涉及了网页(Web)和窗体(Form)两种应用场景下的报表设计方法。 #### 水晶报表的数据获取方式 - **...

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

    ***中水晶报表的使用方法涉及到水晶报表的两种执行模式:Pull模式和Push模式,以及两种报表类型:StrongTyped报表和UnTyped报表。下面对这些知识点进行详细讲解: 1.水晶报表的执行模式 水晶报表的执行模式主要分为...

    拉模式下的报表设计

    水晶报表(Crystal Reports)作为一款功能强大的报表设计软件,广泛应用于各类业务场景中,尤其在拉模式(PULL)下的应用,更是其独特优势之一。本文将深入探讨水晶报表在拉模式下的设计流程与关键技术点,帮助读者...

Global site tag (gtag.js) - Google Analytics