变相实现动态ASP.NET水晶报表

开发 后端
初学者往往觉得ASP.NET水晶报表像datagrid一样,给它个数据源,然后它就会显示出来。这种动态的ASP.NET水晶报表也不是不能实现,只是要变相地实现。本文介绍实现动态ASP.NET水晶报表的具体方法。

初学者往往觉得ASP.NET水晶报表像datagrid一样,给它个数据源,然后它就会显示出来。其实不然。不过这种动态的ASP.NET水晶报表也不是不能实现,只是要变相的实现,绝对的话得问水晶开发商了。

以下大概地讲一下如何来实现动态ASP.NET水晶报表,原理是这样,具体的要求需要自己来调用了。

实现动态ASP.NET水晶报表的主要步骤:

1.在ASP.NET水晶报表中插入FormulaFields,text object

2.在程序中
Dim dry As New CrystalReport1 '项目中ASP.NET水晶报表类名CrystalReport1
'文本1
dry.ReportDefinition.ReportObjects.Item("text1").Left = 12 '排版
dry.ReportDefinition.ReportObjects.Item("text1").ObjectFormat.EnableCanGrow = True
Dim GetTextObject1 As CrystalDecisions.CrystalReports.Engine.TextObject
GetTextObject1 = dry.ReportDefinition.ReportObjects.Item("text1")
GetTextObject1.Text = "love you.........." '付值
'字段1
dry.ReportDefinition.ReportObjects.Item("t1").Left = 12 '排版
dry.DataDefinition.FormulaFields("t1").Text = "{codes.type_id}" '付值,表名.字段

3.基本完成

实现动态ASP.NET水晶报表的参考知识:

1、通过 ReportDocument 对象的 DataDefinition 属性来检索 DataDefinition 对象。
ReportDocument 成员
公共实例属性
DataDefinition DataDefinition。获取 DataDefinition 对象。

2、DataDefinition 类
DataDefinition 成员 CrystalDecisions.CrystalReports.Engine 命名空间
要求
命名空间:CrystalDecisions.CrystalReports.Engine
平台:Windows 98,Windows NT 4.0,Windows Millennium Edition,Windows 2000,Windows XP
程序集:CrystalDecisions.Crystalreports.Engine(在 CrystalDecisions.Crystalreports.Engine.dll 中)
包含所有与数据操作有关的信息(数据操作依据报表中的数据源)。
有关该类型所有成员的列表,请参见 DataDefinition 成员。
Object
DataDefinition
备注
可以使用该类来定义为报表和组选择记录的方式,还可以检索组集合和各种字段定义集合。
通过 ReportDocument 对象的 DataDefinition 属性来检索 DataDefinition 对象。

3、通过 DataDefinition 对象的 FormulaFieldDefinitions 属性来检索 FormulaFields 对象。
DataDefinition 成员
DataDefinition 类 CrystalDecisions.CrystalReports.Engine 命名空间
公共实例属性
FormulaFields FormulaFieldDefinitions。获取 FormulaFieldDefinitions 集合。

4、FormulaFieldDefinitions 类
FormulaFieldDefinitions 成员 CrystalDecisions.CrystalReports.Engine 命名空间
要求
命名空间:CrystalDecisions.CrystalReports.Engine
平台:Windows 98,Windows NT 4.0,Windows Millennium Edition,Windows 2000,Windows XP
程序集:CrystalDecisions.Crystalreports.Engine(在 CrystalDecisions.Crystalreports.Engine.dll 中)
包含报表中的每个公式字段的 FormulaFieldDefinition 对象。
有关该类型所有成员的列表,请参见 FormulaFieldDefinitions 成员。
Object
SCRCollection
FormulaFieldFieldDefinitions
备注
通过 DataDefinition 对象的 FormulaFields 属性来检索 FormulaFieldDefinitions 集合。

5、获取 FormulaFieldDefinition 对象,并设置公式。
如:FormulaFieldDefinition.Text = "{客户.客户 ID}"
FormulaFieldDefinition 成员
FormulaFieldDefinition 类 CrystalDecisions.CrystalReports.Engine 命名空间
公共实例属性
FormulaName(从 FieldDefinition 中继承而来) 字符串。获取 Crystal Report 公式语法中的字段定义***公式名。
Kind(从 FieldDefinition 中继承而来) FieldKind。获取字段的类型。
名称 字符串。获取显示在“字段资源管理器”中的公式字段名。
NumberOfBytes(从 FieldDefinition 中继承而来) Int32。获取在内存中存储字段数据所需的字节数。
Text 字符串。获取或设置公式的文本。
UseCount(从 FieldDefinition 中继承而来) Int32。获取某字段在报表中使用的次数。
ValueType(从 FieldDefinition 中继承而来) FieldValueType。获取字段值的类型。
公共实例方法
Check 检查公式。如果有语法错误,则返回错误字符串和 false。

【编辑推荐】

  1. 实例讲解:ASP.NET水晶报表教程
  2. 浅谈ASP.NET报表控件
  3. 概述ASP.NET水晶报表
  4. VS.Net中的水晶报表的应用
  5. VS.NET 2002下水晶报表的安装与部署
  6. ASP.NET中的数据源控件
责任编辑:老杨 来源: 互联网整理
相关推荐

2009-07-29 09:29:06

ASP.NET水晶报表

2009-07-30 13:57:39

ASP.NET水晶报表ASP.NET

2009-08-25 17:00:32

ASP.NET水晶报表

2009-09-07 19:03:08

2010-01-14 10:52:13

VB.NET水晶报表

2009-10-16 13:30:51

VB.NET水晶报表控

2009-11-05 14:03:28

Visual Stud

2009-08-31 15:11:23

C#调用水晶报表

2009-12-15 17:20:07

VS 水晶报表

2009-08-31 16:09:42

.net水晶报表使用学

2009-08-31 15:54:35

2009-07-28 10:01:16

ASP.NET Exc

2009-07-27 16:19:59

ASP.NET报表控件

2009-08-12 18:19:46

ASP.NET报表打印

2009-08-31 16:01:28

C#水晶报表数据获取方

2009-07-21 15:40:59

Asp.Net动态页面

2009-08-04 18:10:35

ASP.NET动态编译

2009-12-01 13:50:19

VS2003水晶报表

2009-08-04 15:58:06

ASP.NET动态控件

2009-08-04 18:05:37

动态编译ASP.NET
点赞
收藏

51CTO技术栈公众号