代码改变世界

水晶报表按XML格式定制表格

2010-10-28 10:45  chainchan  阅读(1903)  评论(0编辑  收藏  举报

如图:
表格行字段是:Topic.attr_002 ~ Topic.attr_007 (含2个以上元素)
表格列字段是:Item.attr_002 ~ Item.attr_007 (含有2-7个不定元素)

这样的话,请问我该如何实现在水晶报表中定制如图上方那样的表格?
1。是否可以实现?
2。如果实现我应该参考哪些资料?

类似的字段冲突,看了些资料都没有很好的解决办法,更不用说是满足自定义的格式了。周末在家加把油再搞一下。

子报表的方法隔离字段是否可行? 已经尝试过了,不可行。只要关键字段一拉到报表中就整个都不显示了。

而且看来被水晶报表折磨的不只有我一个人。http://www.cnblogs.com/wayfarer/archive/2004/03/31/4737.html

经过今天一上午的折腾终于搞定了字段冲突的问题。解决方法就是建立N个水晶报表文件然后创建子报表时直接传入这些水晶报表文件,当然之后还会产生问题,比如要求数据源的格式必须完全一致,不然会导致映射错误等问题。

接下来搞一下在水晶报表中添加图表,输出自定义曲线的问题:)

一上来就遇到问题了,如图:

 

问了阿泰,他告诉我是数据源的类型出错,很明显我输入的是字符串类型。重新学习下XML格式。

经过10.27一下午,找出了问题的关键所在。即是,

因为绑定源是xml,那么数据的保存的形式就直接变成字符串型,好像没办法自定义数字型的字段?(事后证明是有办法改变的)
如果绑定源是xsd,虽然能得到想要的数据类型,但却又拿不到数据,无法在图表中定义字段显示出来,这似乎变成了一个两难的问题。

峰回路转的是,往往自己很接近真相的时候却靠自己抓不住,在阿泰的提醒下,把公式字段写错了。其实解决方法就是用公式字段转换数据类型引用显示字段即可。原来的计数不见了。

接下来需要考虑的是如何绑定2个不同的数据源?

作为具有上万个数据点的保存格式,选择了csv格式文件作为图形输入,在Access/Excel(DAO),数据库类型选文本,然后选到你的csv就行了。如果出现不能同步更新数据的情况则在[文件]-[将数据与报表一起保存]前面,把勾去掉。

之后大概,终于引来了最后一个问题(我猜的):横坐标自适应

解决方法,在Axes标签对话框中,设置以数字排序显示即可,另外还可以设置以时间排序和原数据排序。

至此,一张完整的水晶报表(附带图表)就做好了。

水晶报表效果图