听说过rdlc有一段时间了,但一直都没有使用过,此前项目中使用过的报表主要是Crystal Report 以及 Active Report,这次遇到同事需要我帮他改一下一个报表,于是就接触了下。
原来同事只说帮他改一下排版问题,因为画的太大了,A3纸无法打印,可后来才发现,原本画好的报表问题还是很多的。首先,报表没有页眉页脚,只在主体上放了一张表格,由于第一次用rdlc,刚开始也没在意这一点,但是报表运行一看,不行。于是在报表上加了页眉页脚,报表名称及表头放入页眉中,表尾放入页脚,有一个问题,页眉页脚中是不允许放表格的,只好放了文本框,设置文本框的边框,调整文本框的宽度,以便与主体中表格各列对齐,不是很方便,但总算是初步完成了。其次,发现原来rdlc的表头和表尾中是不能直接放入绑定字段的,这个不是很方便,需要在主体中放置绑定字段,然后在报表页眉中引用,为什么非要多出这么一步呢,不明白。最后,这个报表的数据源来自两个DataSet,在主体中放入一个DataSet的字段后,再拖入另一个DataSet的字段,后一个的表达式就带着First,这个字段正好是页眉中引用的一个查询日期字段,运行后发现报表第一页有日期,第二页却没有,由于对rdlc不是很熟悉,没能一下找到解决办法,后来终于在属性中找到,打勾“在每一页上重复带有数据区域的报表项”,并在数据区域中选择table,确定,运行后,终于OK。
第一次用rdlc,还是觉得有些不习惯,还是更习惯于使用ActiveReport。