http://community.csdn.net/Expert/topic/3100/3100498.xml?temp=.3525965
http://dev.csdn.net/develop/article/22/22588.shtm
http://dev.csdn.net/develop/article/22/22137.shtm
http://dev.csdn.net/develop/article/22/22268.shtm
http://dev.csdn.net/develop/article/22/22143.shtm海波.NET 
问题: 
水晶报表中,因为数据源的字段是不固定的,可否在运行时动态添加字段,就象在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。