使用水晶报表不刷新数据的问题

转载 2013年02月26日 15:00:12

我使用vb调用水晶报表9.0时,打开预览时出现没有记录的报表,点击刷新按钮执行一次就可以把要查找的记录显示出现,经过不断的测试和查找问题得以解决,在填充记录集合前使用DiscardSavedData方式释放掉水晶报表应用中缓存的数据即可

'清除报表中保持的数据
    objCRReport.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:报表界面或内容更改时,一定要重新生成解决方案,对于不能刷新的问题就会迎刃而解!!!)

[水晶报表小技巧-开发-2]报表内容即时刷新

许多朋友在使用水晶报表编程时,遇到了这么个小难题报表第一次加载的时候正确显示,但是在条件更换后,报表内容却没有及时更新.虽然在Crviewer上已经使用了Refresh方法 其实VB中只要简单在填充记...
  • babyt
  • babyt
  • 2004年11月28日 15:11
  • 3287

[水晶报表]数据修改CR无法及时更新显示之“笨办法”

[摘要]在做报价系统的时候,用户一直向我反映水晶报表无法及时显示变更后的数据。网上找了一些方法都不怎么奏效。手动刷新水晶报表呢?查看水晶报表刷新功能:   CR本报表刷新:报表工具栏增加刷新按钮。  ...
  • david_520042
  • david_520042
  • 2015年05月06日 08:40
  • 2212

数据源更改后,水晶报表如何获取?

采用XSD文件作为水晶报表设计的数据源的时候,如果数据源改变了,要怎么通知水晶报表的设计器呢?答案是采用“登陆注销服务器”(虽然这个时候没有服务器,只是连接到静态文件而已) 。然后再“验证数据库”。...
  • xxpyeippx
  • xxpyeippx
  • 2008年03月27日 16:06
  • 1230

水晶报表crystalReportViewer老是弹出数据库登录对话框的解决方法

大家在基于webform中使用水晶报表时如果简单的按照网上“阿刀”的做法,肯定会提示你:登陆失败。  对于这个问题,斑竹我花了整整一天的时间研究水晶报表的帮助文件,终于得到解决方案。  我不是一个保守...
  • cailvse
  • cailvse
  • 2007年05月31日 09:09
  • 2564

水晶报表 释放资源|内存| (转)

最近搞水晶报表,发现N多问题,最大问题莫过于并发数量了,在网上查到可以通过修改注册表。VS2005默认为5个并发数量,好像是这样的。因为我建立了3个报表,当我打开多次后,就出现错误,提示数量受管理员限...
  • a402626926
  • a402626926
  • 2010年10月22日 10:12
  • 514

使用水晶报表不刷新数据的问题

我使用vb调用水晶报表9.0时,打开预览时出现没有记录的报表,点击刷新按钮执行一次就可以把要查找的记录显示出现,经过不断的测试和查找问题得以解决,在填充记录集合前使用DiscardSavedData方...
  • ddjj_1980
  • ddjj_1980
  • 2013年02月26日 15:00
  • 3120

弹出框+清除缓存

private void showClearCacheDialog() { new AlertDialog.Builder(this, AlertDialog.THEME_DEVICE_DEF...
  • w13080042891
  • w13080042891
  • 2016年08月23日 14:35
  • 672

[水晶报表]创建不受数据库限制的报表 .Net 版本 -1

在前面的文章中我介绍了在VB中使用不受数据库限制的报表,同时也应允了在后续的时间会推出.Net版本,不过因为最近太忙,所以总是不断跳票,呵呵.在我开始写出来最原始的版本之后,我发现其实在水晶报表的官方...
  • babyt
  • babyt
  • 2004年10月17日 01:08
  • 5333

一个水晶报表绑定DataSet的实例【原创】

如果您有任何意见,请留下您宝贵的意见以便告知 操作环境:Visual Studio.Net2003操作系统:window Xp SP2报表版本:Crystal Reports 10 放报表控件的页面1...
  • zhulei2008
  • zhulei2008
  • 2007年03月15日 13:18
  • 3572

React-Native实战二(清理app缓存+Redux )

前言:前面做了一下rn的清理app缓存功能,下面把前面说的rn中处理页面与页面之间的数据传递问题解决一下,在解决之前,我们先来认识一下什么是redux。先附上redux的官方demo地址:https:...
  • vv_bug
  • vv_bug
  • 2017年01月20日 17:37
  • 5007
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用水晶报表不刷新数据的问题
举报原因:
原因补充:

(最多只允许输入30个字)