pmway 发表于 2015-9-19 08:51:00

急,求助用XML数据源设计报表时,不能使用表达式

问题描述:
在使用ActiveReports8的区域报表功能,设计报表时,使用XML文件作为数据源绑定字段。拖动字段至报表区域中时,控件的DataField值为:**/***。(我的XML文件数据源中有N个一级节点)。问题出现了,当我在其它控件中使用表达式时,表达式时也可能会出现+-*/的符号,这就与你们的默认的DataField中的/产生冲突了,导致我的表达式设置不能生效。我已经试过了。
附件是我用的XML文件及rpx文件。

建议:
使用xml数据源拖动字段至报表区域中时,XML上下级节点间的分隔符能符不用使用/,建议使用.,数据库或字段名基本上不会包含.的。这样就没有问题了。当然,如果有更好的方案更好。
比如:针对DataField=主表/应收金额*0.8,可否设置为DataField={主表/应收金额}*0.8。即{}中的为字段名。

如果我自己处理rpx文件,在报表加载前动态过滤,表达式的功能是可以实现。但报表设计器中就看不到表达式字段的预览效果。
请给出解决方案,谢谢。

pmway 发表于 2015-9-20 13:53:00

是不是用XML数据源设置报表时,那么最终给数据源时,也一定要是XML类型的。而不是DataTable?

pmway 发表于 2015-9-20 13:54:00

先前我是自己解析并提供DataTable作为数据源的?

frank.zhang 发表于 2015-9-21 14:47:00

您好,
您的这个问题,我已经重现,会尽快联系产品组,看是否能够支持表达式。

pmway 发表于 2015-9-21 15:47:00

好的,谢谢。

frank.zhang 发表于 2015-9-21 18:12:00

不客气,
已经发生给产品组,如果有消息,我会第一时间给您反馈。

frank.zhang 发表于 2015-9-23 09:10:00

您好,
这个问题经过确认是由于取到的数据是string类型,所有无法直接对这个数据进行乘法运算。
=System.Single.Parse(账面金额, System.Globalization.CultureInfo.InvariantCulture)*System.Single.Parse("0.8", System.Globalization.CultureInfo.InvariantCulture)


frank.zhang 发表于 2015-9-30 17:14:00

您好,
距离这个问题的最后回复已经过去了一段时间,不知道这个问题您是否已经解决?

如果没有解决,欢迎跟贴接续讨论,如果已经解决请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062

pmway 发表于 2015-10-9 15:10:00

谢谢。经验证,确实可行。就是复杂了一些。

frank.zhang 发表于 2015-10-9 16:53:00

您好,
问题已经解决,本帖关闭,如有其它问题,请开新帖。
页: [1]
查看完整版本: 急,求助用XML数据源设计报表时,不能使用表达式