说起这个rdlc真是害人,网上尽没一篇关于这方面表格设计的文章,害得偶花了两天时间研究了一番(要知道两天时间对于这个项目来说已经是奢侈) 的了 。

为了大家理解,我先简要说一下我们这个表格的设计,以下是这个表格做成后的一个图:

 

相信大家做社保、人力资源等mis系统的时候经常用到这种类型的表格。现在有了vs里的rdlc大家再也不用去花银子买那些昂贵的报表软件了。

现在就说一下设计步骤

1. 新建一个报表,默认名为“Report1.rdlc”

2. 添加一个“列表”,这是最关键的,因为这个报表是打印多条记录(Row),所以必须用这个“列表”作为一个容器,否则以后显示出来的数据就只有一条,在Toolbar上只会看见(1/1页),就因为这个问题偶整了两天。

3. 加入“表”,把“表”拖进“列表”里,这样“表”里的所有字段才能动态显示如“=First(Fields!Student_Address.Value)”,顺便提一下,应该把所有显示的东西全部放到“列表”里。

4. 要想设计成为上图那种表格,需要把“表详细信息”去掉,只留“表格表头”和“表格表尾”,因为在表头和表尾的区域才能嵌入另一个“表”,

5. 设计整理好表格框架,这部份主要是调整表格结构,象上图那些“姓名、性别”这种是用手工敲上去的,“李小华、男”这种是拖放的数据库字段,当然字段是从数据集里拖进来还是数据库里施,这完全取决于你的程序设计,偶这里是从数据集里拖进来的

6.在“列表”的属性里(点列表空白处右键),设置一个分组并设置在结尾处分页,即然是分组那肯定是唯一值,看下图,我选用的是数据库里的自增ID作为分组依据。要不然以后有相同值的时候页数就会错误

 

7. 图像那里有个问题,“表”不支持上下行的合并,这怎么办呢?我只有手动调整图像的位置(用键盘上的上下左右键去移动,配合一下在图像属性里调整Size值),但是在记住,这图像必须是被“列表”包含的,也就是说先把图像托到“例表”内,否则图像不会读取数据,我这里的图像是取的外部URL图像地址。

8. 最后一步就是在winform里加入reprotviewer控件使其绑定到这张报表上。后面的编程就不多说了。

 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gxboy/archive/2007/04/20/1572867.aspx

posted on 2010-02-26 16:35  被诅咒的天才  阅读(2479)  评论(1编辑  收藏  举报