`

.NET环境下水晶报表使用总结

阅读更多
作者:李洪根 微软MVP        E-MAIL:lihonggen0@163.com

水晶报表是一个优秀的报表开发工具,本人在开发通用管理系统的时候,所有报表都使用水晶报表,其简单、易用和强大的功能令笔者倍加喜爱,现将水晶报表使用手记呈现给大家。

一、在使用自带的水晶报表时,请注册,否则只能使用30次

水晶报表注册码
注册号:6707437608
密码:AAP5GKS0000GDE100DS

二、使用CrystalReportViewer进行预览

CrystalReportViewer控件允许在应用程序中查看 Crystal Report。ReportSource 属性用于设置要查看哪个报表。该属性设置之后,报表显示在查看器中。报表源可以是ReportDocument、报表文件的路径,也可以是强类型报表。

1.      打开“工具箱”,并将一个 CrystalReportViewer 拖到窗体上,我们命名为rptVew。

2.      通过拖放操作将 Windows 窗体查看器调整到希望的大小并将其移动到所需位置。

3.      当运行应用程序时,报表将显示在查看器中。

三、创建新报表

1.      指向“添加”,单击“添加新项”。

2.      在“添加新项”对话框中,从“模板”区域选择 Crystal Report,将报表命名为rptClient,单击“打开”。

3.      在 Crystal Report 库中,选择下列选项之一:

·         使用报表专家 — 指导您完成报表的创建过程,并将您的选择添加到 Crystal Report Designer。

·         作为空白报表 — 打开 Crystal Report Designer。

·         来自于现有的报表 — 创建新报表,它与指定的另一报表设计相同。

注意   Crystal Report 库包含许多专家,可以指导您完成数个特定类型报表的创建工作。您可能希望使用专家来创建最初的报表,以确定哪种报表构造方法适合您的需要。

4.      单击“确定”按钮。

如果选择使用“报表专家”,便会出现“报表专家”对话框,并带有数据资源管理器。为每个文件夹选择所需数据,完成“报表专家”选项卡界面上的操作,然后单击“完成”来访问 Crystal Report Designer 和您的报表

四、是否需要动态设置数据源?

Crystal Reports 通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理特定数据库类型或数据库访问技术。

拉和推模型
为了向开发人员提供最灵活的数据访问方法,Crystal Reports 数据库驱动程序被设计为可同时提供数据访问的拉模型和推模型。

拉模型

在拉模型中,驱动程序将连接到数据库并根据需要将数据“拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的 SQL 命令都同时由 Crystal Reports 本身处理,不需要开发人员编写代码。如果在运行时无须编写任何特殊代码,则使用拉模型。

推模型

相反,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。

四、从 ADO.NET 数据集制作报表

从数据库创建数据集对象

1.      在项目中新建一个架构文件:

a.      在解决方案资源管理器中,右击项目名,指向“添加”,然后单击“添加新项”。

b.      在“添加新项”对话框的“类别”区域,展开文件夹,然后选择“数据”。

c.      在“模板”区域选择“数据集”。

d.      接受默认名称 Dataset1.xsd。

这就创建了一个新的架构文件 (Dataset1.xsd),以后将用它来生成强类型数据集。该架构文件将显示在 ADO.NET 数据集设计器中。

2.      指定数据库位置:

a.      在服务器资源管理器中,右击“数据连接”并选择“添加连接”。

b.      在“数据链接属性”对话框中,单击“提供程序”选项卡,然后选择一个提供程序(例如 Microsoft OLE DB Provider for SQL Server)。

c.      单击“连接”选项卡,然后指定您的数据库所在位置。在所需位置输入服务器和登录信息。

d.      单击“确定”按钮。

此时,您的数据库及其表和字段就出现在服务器资源管理器的“数据连接”节点下面。

3.      在解决方案资源管理器中,双击 Dataset1.xsd (如果它尚不是活动视图)。

Dataset1.xsd 现在应显示在“数据集”选项卡中。

4.      若要为数据集建立架构,请将需要的表从服务器资源管理器中拖动到 Dataset1.xsd 的“数据集”选项卡上。

5.      单击“保存 Dataset1.xsd”来保存“Dataset1.xsd”文件。

6.      在“生成”菜单上,单击“生成”为项目生成数据集对象。

ADO.NET 数据集对象提供数据的描述,从它可以向 Crystal report 添加表。使用 Crystal Report Designer 中的“数据库专家”从 ADO.NET 数据集对象添加表。

请在使用“报表专家”创建新报表时调用“数据库专家”。或者,要从一个已经使用 ADO.NET 建立好的报表中访问“数据库专家”,请在 Report Designer 中右击,指向“数据库”,然后单击“添加/删除数据库”。

将报表连接到 ADO.NET 数据集对象

1.      在“数据库专家”中,展开“项目数据”文件夹。

2.      展开“ADO.NET 数据集”文件夹。

3.      选择所需数据集对象。

例如,如果当时使用的是从项目“WindowsApplication1”的架构文件“Dataset1.xsd”中生成的数据集对象,则应该选择“WindowsApplication1.Dataset1”。

4.      选择要向报表中添加的表,和使用其他数据源一样。  

五、动态改变数据源的代码

               Dim dsdataSet As New DataSet()

                Dim oRpt As New rptClient()   '已建立的报表rptClient

                请读者自行填充数据集dsdataSet

                '使用“报表引擎”对象模型将填充的数据集,传递给报表

                oRpt.SetDataSource(dsdataSet.Tables(0))

                ' 将带有数据的报表对象绑定到 Windows 窗体查看器,rptVew(CrystalReportViewer控件)

                rptVew.ReportSource = oRpt

注意   FillDataSet 方法可连接到指定的数据库,提取数据,然后断开数据库连接。如果您希望将数据库中的多个表添加到报表中,请使用 SQL JOIN 语句将这些表联接在一起;然后在 FillDataSet 方法中指定一个结果表

六、创建主从报表

在报表中,有许多报表是主从表结构,比如订单与订单商品明细,订单是一个表中的一条记录,而分录是另一个表中的多条记录,两个表通过一个字段关联起来,这种报表可利用其分组功能实现,

1.      新建一个工程

2.      往FORM1中添加一个CrystalReportViewer控件

3.      在服务噐资源管理器中连接到SQL SERVER 2000上的Northwind数据库

4.      添加一个数据集Dataset1,将服务器资源管理器中的Orders和 Order Details加入到数据集中。

5.      添加一个水晶报表,使用报表专家,在项目数据中选择“ADO.NET数据集”,插入表Orders和 Order Details,“链接”中是关联字段的链接,在“字段”中选择要显示的主表和明细表的字段,组中选择分组依据为Orders表OrdersID字段,总计,图表,选择(可进行筛选),样式(可设置报表标题),可自行设置。设置完后,点击完成。

6.      在报表设计器中调整需要显示的字段的位置、宽度等。

7.      在窗口中添加代码。

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim oRpt As New CrystalReport1()

        Dim dsdataSet As New Dataset1()

        Dim CN As New Data.SqlClient.SqlConnection("data source=PMSERVER;initial catalog=Northwind;user id=sa;password=sa")

        CN.Open()

        Dim daOrders As New Data.SqlClient.SqlDataAdapter("select * from orders", CN)

        daOrders.Fill(dsdataSet, "orders")

        Dim daDetails As New Data.SqlClient.SqlDataAdapter("select * from [Order Details]", CN)

        daDetails.Fill(dsdataSet, "Order Details")

        '使用“报表引擎”对象模型将填充的数据集,传递给报表

        oRpt.SetDataSource(dsdataSet)

        CrystalReportViewer1.ReportSource = oRpt

    End Sub

8、运行程序

七、用程序改变报表中text的文本

代码如下:
                Dim GetTextObject As TextObject

                ' 按名称获取 ReportObject,将其转换为 TextObject,并返回此对象。

                GetTextObject = orpt.ReportDefinition.ReportObjects.Item("text13")

                GetTextObject.Text = "XXXX系统"

总结:水晶报表具有非常强大的功能,还可进行导出WORD、EXCEL、RTF等文件,还可生成复杂、漂亮图表,是进行WEB和WINDOWS报表开发的利器。

(此文部分资料来自MSDN)

Author:李洪根

E-MAIL:lihonggen0@163.com
分享到:
评论

相关推荐

    asp.net web 水晶报表的使用大全

    在本篇文章中,我们将深入探讨如何在ASP.NET Web环境中使用水晶报表,结合Visual Studio 2005(VS2005)和SQL Server 2005来创建和管理复杂的报表。 1. **水晶报表简介** 水晶报表是由Business Objects公司开发的...

    NET环境下水晶报表使用总结

    水晶报表是一款功能强大且易于使用的报表开发工具,在.NET环境下广泛应用于各种管理系统的报表制作中。它以其直观的用户界面、丰富的功能和良好的兼容性受到开发者的青睐。 **重要注意事项:** - 在使用自带的水晶...

    Asp.Net中使用水晶报表.rar

    在Asp.Net开发环境中,水晶报表(Crystal Reports)是一款强大的报表设计工具,广泛用于生成复杂的业务报告和数据可视化。本文将深入探讨如何在Asp.Net项目中集成和使用水晶报表,以及相关的技术要点。 首先,要...

    一个很不错的.net版水晶报表控件

    水晶报表(Crystal Reports)是SAP公司的一款强大的报表设计工具,尤其在.NET环境中,它被广泛用于生成和展示各类业务报告。此资源标题提到的是一个基于.NET的水晶报表控件,特别强调其采用了Flash方式来展示报表,...

    ASP.NET开发环境中水晶报表和在水晶报表中插入统计图(如饼图,柱状图等)的用法

    在ASP.NET开发环境中,水晶报表(Crystal Reports)是一种强大的报告生成工具,广泛应用于数据可视化和商业智能。它允许开发者创建复杂的报表,包括统计数据图表,如饼图、柱状图等,以帮助用户更好地理解和解析大量...

    asp.net 动态水晶报表实现

    本教程将深入探讨如何在ASP.NET环境中实现水晶报表的动态操作,从而避免报表直接与数据库进行硬编码关联,增强报表的灵活性和可复用性。 1. **水晶报表简介** 水晶报表是一款由SAP公司提供的商业智能解决方案,它...

    C# 常用整合的资料,NET环境下水晶报表使用总结,水晶报表是一个优秀的报表开发工具,本人在开发通用管理系统的时候,所有报表都使用水晶报表,其简单、易用和强大的功能令笔者倍加喜爱,现将水晶报表使用手记呈现给大家

    在.NET环境下,C#语言与水晶报表(Crystal Reports)的结合使用是开发高效报表系统的重要方式。水晶报表作为一款强大的报表开发工具,以其简洁的界面、易于操作的特性以及丰富的功能,深受开发者们的青睐。本篇文章...

    asp.net,c#水晶报表的使用

    "Demo.rar"文件包含一个示例项目,演示了如何在ASP.NET和C#环境中集成和使用水晶报表。解压后,你可以查看源代码,学习如何配置报表,以及如何在Web应用程序中展示和操作报表。 总结,水晶报表是开发高效、专业...

    VS.NET 2010 水晶报表_Crystal Reports_ Push 示例

    在VS.NET 2010环境下使用水晶报表时,通常有两种模式:Pull和Push。本篇将重点介绍Push模式下的具体实现步骤。 #### 安装水晶报表 1. **安装水晶报表**: - 如果您的VS2010环境中尚未安装Crystal Reports,可以...

    ASP.NET编程水晶报表的使用

    在ASP.NET环境中,水晶报表(Crystal Reports)是一种强大的报表设计工具,它允许开发人员创建复杂的、数据驱动的报告,能够从各种数据源获取数据并进行展示。本篇将深入探讨如何在ASP.NET应用中集成和使用水晶报表...

    Asp.net2.0水晶报表.rar

    Asp.NET 2.0 水晶报表(Crystal Reports)是用于开发Web应用程序的报告解决方案,它允许开发者创建复杂的、交互式的报表,并且能够轻松地集成到ASP.NET环境中。这个压缩包文件“Asp.net2.0水晶报表.rar”很可能包含...

    Asp.Net C# 动态绑定生成水晶报表列

    总结,Asp.Net C#动态绑定生成水晶报表列是实现灵活报表功能的关键技术,它使开发者能够根据数据源的变化和用户需求实时调整报表结构,提高了报表应用的适应性和用户体验。通过理解并熟练掌握这一技术,开发者可以更...

    asp.net水晶报表

    描述中提到的“视频演示”是学习水晶报表的重要辅助资料,它可以帮助初学者更直观地了解如何在ASP.NET环境中创建和展示报表。通过视频,你可以学习到: 1. 如何在设计环境中设置报表布局和样式。 2. 数据源连接和...

    vb.net加载水晶报表5法

    在VB.NET环境中,水晶报表(Crystal Reports)是一个广泛使用的工具,用于创建丰富的、交互式的报告。以下是关于在VB.NET中加载水晶报表的五种方法,以及如何利用VS2005进行报表设计和打印的详细解释。 1. **通过...

    水晶报表安装aspnet的

    总结:水晶报表的安装涉及多个步骤,包括安装包的获取、安装过程、可能的注册表修改,以及在ASP.NET项目中的集成和使用。每个环节都需要细心处理,确保所有组件正确配置和运行。通过熟练掌握这些知识点,你将能够...

    asp.net水晶报表总结

    在 ASP.NET 环境下,水晶报表通常通过 ReportViewer 控件来展示,该控件提供了一个内置的工具栏,包含预览、打印和页面设置等功能。 然而,当遇到自定义需求时,ReportViewer 的默认工具栏可能无法满足所有需求。...

    asp.net水晶报表的使用

    本教程将深入探讨如何在ASP.NET环境中有效地使用水晶报表。 首先,要使用水晶报表,你需要在项目中添加对Crystal Reports的引用。这通常通过Visual Studio的“添加引用”对话框完成,选择.NET框架组件中的...

Global site tag (gtag.js) - Google Analytics