水晶报表中,因为数据源的字段是不固定的,可否在运行时动态添加字段,就象在winform中动态添加控件一样。

zwq78 2003-09-24 04:20:04
如题
...全文
76 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
haibodotnet 2003-10-13
问题:
水晶报表中,因为数据源的字段是不固定的,可否在运行时动态添加字段,就象在winform中动态添加控件一样。
——————————————————————————————————————
解决方案:
用“公式字段”
1、根据字段的最大数量,定义若干个“公式字段”,FormulaFeild1、FormulaFeild2……,公式为空;
2、把“公式字段”按顺序放在“详细资料”里;
3、在程序里动态将“公式字段”赋值为“具体字段”;
OK!
——————————————————————————————————————
参考:
1、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 集合。

2、FormulaFieldDefinition 成员
FormulaFieldDefinition 类 | CrystalDecisions.CrystalReports.Engine 命名空间

公共实例属性
FormulaName(从 FieldDefinition 中继承而来) 字符串。获取 Crystal Report 公式语法中的字段定义唯一公式名。
Kind(从 FieldDefinition 中继承而来) FieldKind。获取字段的类型。
名称 字符串。获取显示在“字段资源管理器”中的公式字段名。
NumberOfBytes(从 FieldDefinition 中继承而来) Int32。获取在内存中存储字段数据所需的字节数。
Text 字符串。获取或设置公式的文本。
UseCount(从 FieldDefinition 中继承而来) Int32。获取某字段在报表中使用的次数。
ValueType(从 FieldDefinition 中继承而来) FieldValueType。获取字段值的类型。

公共实例方法
Check 检查公式。如果有语法错误,则返回错误字符串和 false。
  • 打赏
  • 举报
回复
rock29 2003-10-13
你这个问题恐怕只有 haibodotnet(海波.NET)才能解决
  • 打赏
  • 举报
回复
Surpass 2003-10-13
我也遇到了这个问题,帮老兄UP一下吧。
  • 打赏
  • 举报
回复
zwq78 2003-09-25
to:lxstruggle(lxstruggle)

哪里有阿ADV版本,能贴个地址出来吗?
  • 打赏
  • 举报
回复
lxstruggle 2003-09-25
1、如果是动态字段,你要用CR的ADV版本,因为只有ADV版本才提供动态创建的API
2、你还要对页面大小和字段的多少和宽度进行判断,以免打印到外面去了
  • 打赏
  • 举报
回复
zwq78 2003-09-24
可能没有办法哈。以前用activereports,用的是笨方法,定义二十个字段,都不绑定,在构造时,一个个字段的赋值,没用上的就隐藏起来,.net框架都通过Reflection来支持动态的生成了。水晶报表怎么却不行呢?
  • 打赏
  • 举报
回复
发帖
VB

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
帖子事件
创建了帖子
2003-09-24 04:20
社区公告
暂无公告