zoukankan      html  css  js  c++  java
  • 如何在水晶报表中动态添加字段

    问题:
    水晶报表中,因为数据源的字段是不固定的,可否在运行时动态添加字段,就象在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。

    记住该记住的,忘记该忘记的,改变能改变的,接受不能改变的!
  • 相关阅读:
    StringBuider 在什么条件下使用效率更高?
    Hibernate 与 Mybatis 如何共存?打破你的认知!
    牛逼!OpenJDK 源码要迁移到 GitHub 了!
    别在网上乱找代码了,找了一段代码突然爆了!!!
    8 条关于 Web 前端性能的优化建议
    关于 equals 和 hashCode,看这一篇真的够了!
    Python web之Python如何调用REST服务?
    ArcGIS Server如何发布gp服务
    ArcGIS坐标单位转换(米和度分秒之间是如何转换的?)
    ArcGIS MapServer和FeatureServer的区别
  • 原文地址:https://www.cnblogs.com/yuanermen/p/661505.html
Copyright © 2011-2022 走看看