当前位置:编程学习 > C#/ASP.NET >>

c# winform程序,修改水晶报表后报表运行不更新

原来报表中有打印日期,我在报表中又增加了打印时间,在报表预览和crystalReportViewer中都能看到修改后的内容,可是运行程序时显示的却是修改前的内容,新加的打印时间都没有显示出来。同时我把crystalReportViewer显示组树那项也取消了,运行后组树也没有去掉。 --------------------编程问答-------------------- 两个问题都比较奇特,从下面两个角度看看

1:确认你修改时看到的,和运行时用的是同一个模板文件
winform的时候,调试时,你的“当前目录”是位于debug下的
2:是不是你在IDE的属性中设置了不显示,但是代码里还有控制?

--------------------编程问答-------------------- 我使用的是同一个模板文件,我在程序中设置的是窗口出来就把报表加载到crystalReportViewer中,我试着把form_load中加载的代码注释掉,运行程序依然还能加载。
我加载报表的代码如下:
CrystalReport11.Load(Application.StartupPath + "CrystalReport11.rpt");
CrystalReport11.SetDataSource(ds.Tables["sql"]);
crystalReportViewer1.ReportSource = CrystalReport11;

crystalReportViewer去掉显示组树那项我直接在属性里改的,没写代码
--------------------编程问答-------------------- 1:你的viewer里默认加载里你的CrystalReport11.rpt
断点跟踪一下你的Application.StartupPath
看下调试模式下你的这个目录跟实际是不是不一样的

不显示组树的属性你用的是哪一个? --------------------编程问答-------------------- --------------------编程问答-------------------- 不显示组树的设置,我是把crystalReportViewer的DisplayGroupTree属性设置为False
我的程序是在D盘,调试跟踪显示Application.StartupPath 
在我D盘程序的bin\debug目录里 --------------------编程问答-------------------- 我上网查了一下,有一个情况和我类似,也是修改了水晶报表后,运行程序没有显示出来修改后的报表。他解决的帖子只是说缓存原因。 --------------------编程问答-------------------- 感谢babyt兄,问题解决了。
很奇怪,我把改好的程序删了,重新使用备份的程序修改,修改的地方一样,操作一样,可是运行就没问题了
所以虽然问题解决了,还是不知道怎么出的问题,呵呵 --------------------编程问答-------------------- 清理解决方案,把DEBUG和RELEASE里的东西清光,并重新生成解决方案试试 --------------------编程问答--------------------
引用 7 楼 bguoyu 的回复:
感谢babyt兄,问题解决了。
很奇怪,我把改好的程序删了,重新使用备份的程序修改,修改的地方一样,操作一样,可是运行就没问题了
所以虽然问题解决了,还是不知道怎么出的问题,呵呵


可能你一直在运行的是最初调试时的那个程序,呵呵
补充:.NET技术 ,  图表区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,