看这个dephi的FastReport:可以调节适应各种大小的信纸、档案袋、贴标,函件、证书。
现在我们用微软报表rdlc快编完了,才知道用户老系统(dephi编写)有这个功能,真是欲哭无泪。
还好用户不用大改或者加字段之类的,只需要改标题位置,嵌入报表的文本框的位置什么的。
微软报表rdlc能改这些位置吗?
我自己摸索发现:这个rdlc是可以修改的!
1.首先设置rdlc文件的属性设为<始终复制>,这样的话它作为资源包含在打包的程序目录里。
比如说Report2.rdlc的<始终复制>,这样的话Report2.rdlc会作为资源包含在打包的程序目录bin里,而不是压入了exe文件,那样就死了,不可能由用户来修改了。
2. 在C#代码里设置报表路径为打包后Report2.rdlc存在的路径,而不是开发环境下的路径。其他的都没改。
reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\UIL\\Code1\\Report2.rdlc";
3.此时打开打包过的exe文件所在程序目录bin,修改里面的Report2.rdlc,修改报表里文本框位置什么的都是有效的。不用再次编译生成,就可以让用户的报表格式改变。当然,正在运行程序时,修改Report2.rdlc无效,需要关闭exe重新运行就有效了。
但是Report2.rdlc的修改不是可视化的编辑,如何可视化的编辑rdlc文件?只用修改报表里文本框位置,或者调整一下列宽,这么低的要求微软报表如果不能满足,就太过分了!
既然这样,那你就买个 FastReport 然后用 FastReport 来制作报表呗
FasrReport 支持 2005 以上版本,同时支持客户自己修改报表格式。