使用水晶报表不刷新数据的问题
来源:互联网 发布:阿里云发票退票 编辑:程序博客网 时间:2024/05/22 01:43
我使用vb调用水晶报表9.0时,打开预览时出现没有记录的报表,点击刷新按钮执行一次就可以把要查找的记录显示出现,经过不断的测试和查找问题得以解决,在填充记录集合前使用DiscardSavedData方式释放掉水晶报表应用中缓存的数据即可
'清除报表中保持的数据
一下为一位网友的遇到问题的解决方法类似:
我所使用的水晶报表是VS2005中内嵌的(水晶报表10),在运行报表过程中出现总是显示以前数据或布局样式,不能更新的问题.
网上提供的解决方案如下:
"许多朋友在使用水晶报表编程时,遇到了这么个小难题
报表第一次加载的时候正确显示,但是在条件更换后,报表内容却没有及时更新.
虽然在Crviewer上已经使用了Refresh方法
其实VB中只要简单在填充记录集合前使用DiscardSavedData方式释放掉水晶报表应用中缓存的数据即可
'清除报表中保持的数据
objCRReport.DiscardSavedData
'赋给报表数据
objCRReport.Database.SetDataSource rst VSNet2003附带的水晶报表版本中没有DiscardSavedData方法,
我自己用的时候没有出现过数据不刷新的情况,所以没有直接做个测试
但是可以在应该在界面重载的时候,做一次
objReportDocument.Dispose()另外在制作模板的时候,保存时不要选择将数据与报表一起保存
如果已经选择了,把"文件"-->"报表选项"里的这个项目点掉
"
但是按照以上的方法不能解决我的问题,运行报表后显示的仍是上次的结果,后来发现每次运行报表(或预览)在
C:\Documents and Settings\Administrator\Local Settings\Temp
文件夹中会生成*.rpt的报表临时文件,删除这些文件后发现问题解决,其中具体原因不是很清楚,不明白为什么水晶报表每次运行会先查找这些文件.
(注:报表中存在大量数据时,运行预览*.rpt容量也会很大,预览结果和实际显示结果布局位置上会有所不同,所以每次检查结果我都是执行程序.)
网上还有种说法:
VS.NET2003自帶的水晶9每次執行時舊的temp會自動清除,重啟IIS會全部清除
而VS2005自帶的水晶10就不行了,TEMP不會自動清除,重啟IIS也還在
如果有哪位大虾能提出VS2005水晶报表10刷新问题的更好解决方案,非常感谢!
(PS:报表界面或内容更改时,一定要重新生成解决方案,对于不能刷新的问题就会迎刃而解!!!)
- 使用水晶报表不刷新数据的问题
- VS2010使用水晶报表碰到的问题
- 水晶报表中子报表的数据绑定问题
- 水晶报表中子报表的数据绑定问题
- 水晶报表中子报表的数据绑定问题
- 水晶报表中子报表的数据绑定问题
- 水晶报表中子报表的数据绑定问题
- 水晶报表的使用:
- 水晶报表的使用
- 水晶报表的使用
- 解决水晶报表不显示工具栏图标的问题
- 使用参数控制水晶报表的部分元素不打印
- [水晶报表]MVC中使用水晶报表,图表无法显示的问题
- 水晶报表数据的绑定
- vb.net使用水晶报表显示动态Dataset的数据
- 关于水晶报表的问题
- 水晶报表分页的问题
- 水晶报表分页的问题
- 实现守护进程的步骤
- [Python入门及进阶笔记00]-写在前面(目录/书籍/学习路线/其他)
- Nginx查看并发链接数(界面和命令)
- java.sql.SQLException: ORA-08102: index key not found, obj# 80756, file 18, block 35018 (2)
- 人行的利与弊
- 使用水晶报表不刷新数据的问题
- cocos2d-x实现游戏剧情对话——打字效果
- ASP.NET读取HTML模板生成HTML
- C++命名空间 详解
- 博弈论(一):Nim游戏
- Android软键盘弹出,界面整体上移的问题
- 用SQL语句删除重复记录的四种方法
- 数据挖掘导论
- How do I install kernel header files?