我用的ms reportviewer 控件和rdlc做的报表,我点reportviewer 上的打印按扭时会弹出一个带取消的打印对话框上面显示正在打印第几页(共几页),但是我打印时总页数的地方一直显示我的rdlc的名称是什么原因,我没有写打印功能,直接用的reportviewer 带的打印功能

解决方案 »

  1.   

    ReportViewer(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控件使其绑定到这张报表上。后面的编程就不多说了。