如何在水晶报表中动态添加字段

原创 2003年11月09日 23:15:00

问题:
水晶报表中,因为数据源的字段是不固定的,可否在运行时动态添加字段,就象在winform中动态添加控件一样?(更新:2003-11-05)
——————————————————————————————————————
解决方案:
用“公式字段”
1、根据字段的最大数量,定义若干个“公式字段”,FormulaFeild1、FormulaFeild2……,公式为空;
2、把“公式字段”按顺序放在“详细资料”里;
3、在程序里动态将“公式字段”赋值为“具体字段”;
如:FormulaField1.Text= "{客户.客户 ID}"
——————————————————————————————————————
参考:
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。

如何使用代码动态设置水晶报表中的文本,字段等对象呢?

如何使用代码动态设置水晶报表中的文本,字段等对象呢? //VB 首先,你必须要声明一个OBJECT变量(eg. TextObject, FieldObject, ......),当然不是一般的对象,而...
  • findsafety
  • findsafety
  • 2014年11月11日 15:10
  • 3946

选择字段,创建用户自定义的水晶报表

在实际应用中,统计人员有根据要求制作特定统计报表的需要。本文参考了网上文章《在水晶报表中实现任意选择指定字段显示(阿泰)》,并在vs2008、sql2005环境下使用C#开发测试。测试运行界面如下图所...
  • hr541659660
  • hr541659660
  • 2016年04月08日 14:52
  • 561

【水晶报表之图片篇-c】 CR 11版本动态加载的另一种简单方案

2005年我在《水晶报表中如何动态加载图片(图片文件版本及数据库版本)》 提供的方法中,用了编程的方法,虽然也实现了,但是比较繁琐 地址: http://www.cnblogs.com/baby...
  • findsafety
  • findsafety
  • 2015年03月24日 16:09
  • 2859

水晶报表公式化字段,自定义报表

http://www.cnblogs.com/babyt/archive/2008/01/03/1024941.html 前文《在水晶报表中实现任意选择指定字段显示》中有朋友留言说是有无C#版本,最近...
  • zbssoft
  • zbssoft
  • 2010年05月13日 11:08
  • 4181

水晶报表数据源添加字段,不用重新画报表的做法

只要把DataSet字段加上后,在报表的字段管理器里面设置数据源位置然后选当前的表和数据源的表,右侧的更新按钮就可以点了,更新后字段管理器里面的字段就自动更新了,并且不会影响已经画好的字段. 具体参...
  • cdwolfling
  • cdwolfling
  • 2014年01月23日 17:24
  • 1524

水晶报表中如何动态增加字段

自己曾经在百度的博客上专门学习过水晶报表的知识,无意中看到这个贴,转过来以备后用。该贴转自http://hi.baidu.com/michael8119/blog/item/146328436c6ce...
  • zhvsby
  • zhvsby
  • 2010年10月09日 13:21
  • 2779

水晶报表是否能够动态增加列

打算使用水晶报表做一份报表,显示的数据有点特殊,即要显示的列数不是固定的,有可能这次产生的数据时5列,下次产生的数据时6列,不知道能否使用水晶报表实现。【原创】动态(万能)水晶报表:任意表,任意列,动...
  • mojieqiong
  • mojieqiong
  • 2010年11月01日 22:57
  • 595

在水晶报表中动态的添加自己所需要的的字段

在水晶报表中动态的添加自己所需要的的字段  由于常遇到一些比较大的报表,其中的字段有的需要,有的不需要,有的这次需要,下次可能就不需要,不可能把所有的可能性都考虑在内做报表,所以就需要动态的添加字段,...
  • JOHNCOOLS
  • JOHNCOOLS
  • 2006年03月17日 17:33
  • 985

如何在水晶报表中动态添加字段

问题:水晶报表中,因为数据源的字段是不固定的,可否在运行时动态添加字段,就象在winform中动态添加控件一样?(更新:2003-11-05)—————————————————————————————...
  • haibodotnet
  • haibodotnet
  • 2003年11月09日 23:15
  • 19797

在水晶报表中动态的添加自己所需要的的字段的代码

         在水晶报表中动态的添加自己所需要的的字段的代码//首先实例化一个报表(zkck)cr1      reports.zkck cr1=new gjmis.wzsys.reports.z...
  • bccu
  • bccu
  • 2004年09月18日 16:38
  • 907
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在水晶报表中动态添加字段
举报原因:
原因补充:

(最多只允许输入30个字)