我准备把我在另一个Blog上的随笔都挪到这里。以下是其中一篇,当时用的应该是VS2005的RTM版了,不知道现在是否还有这个问题。
最近做的项目中需要根据数据绘制折线图,于是就想利用VS2005自带的报表工具做。一开始很顺利,后来发现页面绘制的图表,不能随参数变化而变化,为此折腾了大半个下午,真是阴沟里翻船,最后发现缺少对 ReportViewer.LocalReport.Refresh 的调用,加班让我脑袋混沌了很多……
不过到现在还弄不明白的是,在发布系统的时候出现的问题。我是直接利用VS2005的 publish 功能发布系统,它采用预编译的方式,我去掉了“Allow this precompiled site to be updatable”选项,发布到服务器上去之后,报表无法显示,经过一些测试,发现原因可能是无法找到报表文件路径,为此,我将aspx页面中的 ReportPath改成相对地址,还是不行;后来去掉aspx文件中的ReportPath属性,改在cs文件中利用 Server.MapPath方法,结果仍然不行。实在没有办法,只好将“Allow this precompiled site to be updatable”选项选中,publish,然后服务器上报表文件可用了,选中这个选项,我想可能会对性能有些许影响,但是目前进度很近,也只能先这样了,如果以后找到了这个问题的答案,我会在此补充。
[2006-2-13]编辑:
看来可能找到原因了,在publish的预编译后,报表文件在发布到服务器后和其他aspx文件等一样变成了一种“marker”文件,只要把原来的报表文件覆盖掉这个“marker”文件就可以了。这或许也算是VS2005的一个问题?