水晶报表的怪异现象

问题描述

有一个添加样品检验的需求,注册一个样品,然后填写检验报告单,生成检验报告(水晶报表)现在生成检验报告我是从检验报告数据库(包含刚填写的样品检验报告单信息)中提取的某种样品id数最大的信息,这样就是获得的最后添加的这个报告,绑定水晶报表第一个样品a添加检验报告单,绑定,OK,水晶报表出来了,没问题换一个样品b添加检验报告单,绑定,OK,水晶报表也出来了,没问题在添加一个样品a的检验报告单,绑定,这次就不OK了,水晶报表也出来了,不过现实的不是最后我添加的这条,而是第一次添加的样品a的信息后面无论添加多少个a,都是出来第一个的检验报告单b也如此,只要是之前数据库中有添加数据,他就不显示最新的于是我就把一个datagridview放到窗体里面,看看到底提取出来什么数据,这时候出来一个可笑的事情,datagirdview和水晶报表绑定的是同一个dataset的同一个table的同一个row,结果datagridveiw上面显示的是最新的,可是水晶报表显示的是最老的,这是怎么回事?莫非水晶报表还有session一样的功能?能够缓冲数据?我又在每次crystalreportviewer的load事件里面,让水晶报表的数据源为空,结果还是不行谁能帮帮忙阿,这是什么原因阿,愁死了,项目就这么一点,死活就卡这里了

解决方案

解决方案二:
我用的是winform
解决方案三:
上去
解决方案四:
调试一下看看从数据库取出来的到底和显示的是不是同一条记录
解决方案五:
不是一条数据,我断点调试运行出来的数据和我让datagridview上面显示的数据是一致的,但是水晶报表就和这个不一样,可是他们都是使用的相同的sql语句
解决方案六:
拿点代码出来瞧瞧!可能是你水晶报表做的方式不对吧!
解决方案七:
privatevoidcrystalReportViewer1_Load(objectsender,EventArgse){DataSetpud=newDataSet();Stringstr=Path.GetFullPath("Crystalnew.rpt");this.crystalnew1.Load(str);Bussiness.HandleExamplehe=newfood.Bussiness.HandleExample();pud=he.ShowCheckReport(SampName,FacName);DataSet_pud=he.ShowCheckReport(SampName,FacName);crystalnew1.SetDataSource(pud.Tables[0]);this.crystalReportViewer1.ReportSource=crystalnew1;this.data.DataSource=pud.Tables[0];}

这个是绑定水晶报表绑定数据并且和水晶报表查看器关联的那部分语句
解决方案八:
水晶报表上面直接扔的数据库字段
解决方案九:
朋友们谁帮忙看看阿
解决方案十:
privatevoidcrystalReportViewer1_Load(objectsender,EventArgse){DataSetpud=newDataSet();Stringstr=Path.GetFullPath("Crystalnew.rpt");this.crystalnew1.Load(str);Bussiness.HandleExamplehe=newfood.Bussiness.HandleExample();pud=he.ShowCheckReport(SampName,FacName);DataSet_pud=he.ShowCheckReport(SampName,FacName);//这个地方填写类似这样的代码//crystalnew1.DataSource.Clear();//就是把他的datasource清空crystalnew1.SetDataSource(pud.Tables[0]);this.crystalReportViewer1.ReportSource=crystalnew1;this.data.DataSource=pud.Tables[0];}由于我机器上没有水晶报表,我不知道那里具体应该怎么写,但应该是那块的问题
解决方案十一:
楼上的朋友我看了你的代码了,不过crystalnew1没有.datasource的属性,后来我+了一条crystalnew1.DataSourceConnections.Clear();但是还是不行,谁能帮帮再看看呢,谢谢了
解决方案十二:
来大大阿,受不了了
解决方案十三:
100分,谁能拿走都拿走吧,不行我再开个帖子给您100分,就差这么点了,哪位大大给我个支持阿
解决方案十四:
不是水晶报表的问题,是你取数据的问题.调试下就应该很明白了.
解决方案十五:
我又调试了一次,没问题数据,数据库提取出来的dataset就是最新的数据,可是在水晶报表里面显示的就是最老的,无奈了
解决方案:
咱这得高人呢?怎么都不来我这个帖子,莫非都不用水晶报表么?
解决方案:
帅哥,你这个需要调用报表的一个刷新的方法,Refresh
解决方案:
好像一直有这个问题,不想GridView一样,Bind一下就好了。。
解决方案:
回复16楼的帅哥,我不论是privatevoidcrystalReportViewer1_Load(objectsender,EventArgse){DataSetpud=newDataSet();Stringstr=Path.GetFullPath("Crystalnew.rpt");this.crystalnew1.Load(str);Bussiness.HandleExamplehe=newfood.Bussiness.HandleExample();pud=he.ShowCheckReport(SampName,FacName);DataSet_pud=he.ShowCheckReport(SampName,FacName);crystalnew1.SetDataSource(pud.Tables[0]);crystalnew1.Refresh();this.crystalReportViewer1.ReportSource=crystalnew1;this.data.DataSource=pud.Tables[0];}

还是privatevoidcrystalReportViewer1_Load(objectsender,EventArgse){DataSetpud=newDataSet();Stringstr=Path.GetFullPath("Crystalnew.rpt");this.crystalnew1.Load(str);crystalnew1.Refresh();Bussiness.HandleExamplehe=newfood.Bussiness.HandleExample();pud=he.ShowCheckReport(SampName,FacName);DataSet_pud=he.ShowCheckReport(SampName,FacName);crystalnew1.SetDataSource(pud.Tables[0]);this.crystalReportViewer1.ReportSource=crystalnew1;this.data.DataSource=pud.Tables[0];}

还是[code=C#]privatevoidcrystalReportViewer1_Load(objectsender,EventArgse){crystalReportViewer1.Refresh();DataSetpud=newDataSet();Stringstr=Path.GetFullPath("Crystalnew.rpt");this.crystalnew1.Load(str);Bussiness.HandleExamplehe=newfood.Bussiness.HandleExample();pud=he.ShowCheckReport(SampName,FacName);DataSet_pud=he.ShowCheckReport(SampName,FacName);crystalnew1.SetDataSource(pud.Tables[0]);this.crystalReportViewer1.ReportSource=crystalnew1;this.data.DataSource=pud.Tables[0];}

都是一个结果,不行,仍然在显示最老的记录
解决方案:
还有,这个水晶报表没有DataBinding
解决方案:
该回复于2008-05-11 11:50:06被版主删除
解决方案:
我手头上没有现成的代码,忘了是Report的Refresh还是ReportViewer的Refresh了。你的问题我遇到过,解决方法就是需要Refresh
解决方案:
求20楼的以后少来我帖子里面发广告
解决方案:
先去吃饭,看看下午有什么方法没有还有菜菜朋友,这两个refresh我都试了,貌似不管用,下午我再看看,还是不行的话,我把代码发给你一部分,你给看看如何
解决方案:
引用21楼caicai_45的回复:

我手头上没有现成的代码,忘了是Report的Refresh还是ReportViewer的Refresh了。你的问题我遇到过,解决方法就是需要Refresh

解决方案:
想起来了,你把代码这样改下,privatevoidcrystalReportViewer1_Load(objectsender,EventArgse){//crystalnew1的申明和初始化都放到这个地方,不是From级别的变量,作为方法变量crystalReportViewer1.Refresh();DataSetpud=newDataSet();Stringstr=Path.GetFullPath("Crystalnew.rpt");crystalnew1.Load(str);Bussiness.HandleExamplehe=newfood.Bussiness.HandleExample();pud=he.ShowCheckReport(SampName,FacName);DataSet_pud=he.ShowCheckReport(SampName,FacName);crystalnew1.SetDataSource(pud.Tables[0]);this.crystalReportViewer1.ReportSource=crystalnew1;this.data.DataSource=pud.Tables[0];crystalReportViewer1.Refresh();//这两个同样的方法,你看看能不能去掉一个}

解决方案:
privatevoidcrystalReportViewer1_Load(objectsender,EventArgse){DataSetpud=newDataSet();Stringstr=Path.GetFullPath("Crystalnew.rpt");this.crystalnew1.Load(str);Bussiness.HandleExamplehe=newfood.Bussiness.HandleExample();pud=he.ShowCheckReport(SampName,FacName);DataSet_pud=he.ShowCheckReport(SampName,FacName);crystalnew1.Refresh();//加上这句就好了crystalnew1.SetDataSource(pud.Tables[0]);this.crystalReportViewer1.ReportSource=crystalnew1;this.data.DataSource=pud.Tables[0];}
解决方案:
该回复于2014-10-04 09:59:19被版主删除
解决方案:
是不是这个Load方法有问题this.crystalnew1.Load(str);

时间: 2024-07-28 14:31:05

水晶报表的怪异现象的相关文章

环境配置-vb代码,调用水晶报表,一闪就没了

问题描述 vb代码,调用水晶报表,一闪就没了 vb代码,使用.printReport调用水晶报表.rpt文件打开报表,但是一闪就没有了,代码也没有报出任何错误.另外,代码没有问题,因为在另一台电脑上正常显示了报表内容.我想应该是水晶报表的环境配置问题,具体是什么配置没用达成,才出现这种现象.需要进行怎样的配置或者什么,是这台电脑也能够正常显示报表内容.求高手们指点迷津.谢谢啦!

水晶报表 大数据量打印会出现错误

问题描述 我用的水晶报表10当数据量比较小的时候<1000条打印正常但是如果数据到2000条的时候水晶报表就会出现连接超时的现象不知道大家碰到过没有这个问题该如何解决? 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/20081107/11/b27dc75f-14b1-4594-9de3-5b18d9e36a11.html此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主可以获得

水晶报表打印

问题描述 vb代码,使用.printReport调用水晶报表.rpt文件打开报表,但是一闪就没有了,代码也没有报出任何错误.另外,代码没有问题,因为在另一台电脑上正常显示了报表内容.我想应该是水晶报表的环境配置问题,具体是什么配置没用达成,才出现这种现象.需要进行怎样的配置或者什么,使这台电脑也能够正常显示报表内容.求高手们指点迷津.谢谢啦!

急求-2010水晶报表代码绑定数据怎么搞

问题描述 2010水晶报表代码绑定数据怎么搞 我现在做的Form里面放了个crystalReportViewer怎么通过代码绑定数据 解决方案 http://tech.ddvip.com/2009-01/1232570606106799.html

最新官方水晶报表实例 - 报表,应用程序

程序|水晶报表 ·报表实例 ·针对 .NET 开发者的应用程序实例 ·针对其它开发工具的应用程序实例 ·针对 Web 开发者 (ASP, CSP, JSP) 的应用程序实例 报表实例 要获得完整的列表和下载报表实例的直接链接,请查看我们演示报表设计概念的报表实例列表 (PDF - 142 KB). 针对 .NET 开发者的应用程序实例 使用 VB.NET 开发的水晶报表 VS .NET 程序实例列表 使用 C++ 开发的水晶报表 VS .NET 程序实例列表 使用 C# 开发的水晶报表 VS .

vs2010 wfp 水晶报表 隐藏grouptree

问题描述 vs2010 wfp 水晶报表 隐藏grouptree 请教s2010 wfp 下,使用水晶报表,如何隐藏grouptree? 看网上有更改ToolPanelView属性的,但我没找到,请高手不吝赐教-- 解决方案 我用的是vs2010专业版,水晶报表使用CRforVS_13_0安装包

水晶报表 配置错误:CrystalDecisions.Web ,系统找不到指定的文件的解决方法

水晶报表 配置错误:分析器错误信息: 未能加载文件或程序集"CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"或它的某一个依赖项.系统找不到指定的文件. 本来是以前缺少某些组件或文件,在翻了大量的资料后,才发现是缺少.net环境下的一些组件.解决方法是安装CRRedist2005_x86.msi 即可. 下载地址是: Crystal Reports fo

关于水晶报表10 的字报表数据填充和显示

数据|水晶报表|显示|水晶报表   水晶报表10版本,不再上水晶报表9一样自动帮你给子报表set 记录集,需要你在程序中自己添加 protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1; DataSet newDs = new DataSet();     .      .得到报表的数据集合set给newsDs    DataSet  dstMain=biz.GetDataSetList(pStart, pE

水晶报表调用oracle存储过程

水晶报表版本是8.5 存储过程是: create or replace package pkg_test4astype v_cursor is ref cursor;end pkg_test4;/create or replace procedure pro_test4(P_CURSOR in out pkg_test4.v_cursor)assqlstr varchar2(3000);beginsqlstr :='select table_name from user_tables';open