之前工作中遇到一个比较老的项目需要升级,当时好像是VS2005开发的,现在需要升级至NetFramework3.5以上
在这把水晶报表升级的确是遇到一些问题
vs2005报表的版本是10.3的,因为vs2010没有集成报表只好自己去下载了一个13.0版的
安装完毕打开旧版本报表时,的确会提示让你升级水晶报表(这时候最好做一下备份,以防万一),好了升级倒是升级完毕了,之后遇到一堆问题
1:不认识 DisplayGroupTree 这个属性,需要手动修改啊,要是报表很多 ,果断用替换
crystalReportViewer1.DisplayGroupTree = false; //2008版本以前的用法
crystalReportViewer1.ToolPanelView= None; //VS 2010中的用法
2:报表名为空 的错误。好了,编译通过。但在web页面打开报表时,报了一个 报表名为空 的错误,开始还以为是路径问题。后来才知道,新版需要设定
CrystalReportSource.report.file属性。
3:页面显示文字乱码,这个乱码有两种:aspx中文字正常,但页面显示乱码还有一种就是aspx文件中的汉字直接就是乱码,至于前面一个情况在wbeconfig的system.web节点中设置
<globalization requestEncoding= "gb2312" responseEncoding= "gb2312" fileEncoding= "gb2312"/>就行了,至于后面的情况,手动修改下页没事
4:再次浏览报表,数据还是不能正常显示 还报了一个 “没有有效的报表源。” 的错误,
webconif中和aspx页面头部也都更新了 <%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0....),控件中的报表也都是13.0版本的,但把报表拖到页面上的时候页面头部自动添加的<%@ Register Assembly="CrystalDecisions.Web, Version=10.3.....)又是旧版本。在网上查了很久,也在CSDN提了问题,两天半时间一个回复的人都没有。哎。后来实在没办法,只能把10.3卸载干净,之后才正常。
如果有朋友也遇到这个问题可以试试。。。
哎,还不知道到底是什么原因照成的,要是有人知道回复一下哈。·