100分求:水晶报表在asp.net中显示时不更新数据的问题。

Davily 2005-05-11 12:12:27
rptProcessList tt=new rptProcessList();
tt.SetDataSource(dsQuery2.Tables[0]);

我在page_load()方法里设置了该报表的数据源,但是数据记录总是不更新,还是设计时的老数据,是什么原因哦。
...全文
162 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
astrofay 2005-05-12
  • 打赏
  • 举报
回复
我以前也遇到过这种问题:
你那些方法是不是在page_load()的
if(!IsPostBack)里面咯?
如果是的话,数据不能及时更新,把你所有的方法都写在page_load()的
if(!IsPostBack)外面试试,就用你刚开始的方法,不用把“生成缓存强类型报表”的勾去掉。
Davily 2005-05-11
  • 打赏
  • 举报
回复
晕,我把“生成缓存强类型报表”的勾去掉,现在又有新的问题,每次打开页面都会报错:
出错信息如下:

“/WebCRTest2”应用程序中的服务器错误。
--------------------------------------------------------------------------------

文件 C:\WINNT\TEMP\temp_347c44ee-bd40-4283-b938-be2354888206.rpt 内出错:无法连接:错误的登录参数。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: CrystalDecisions.CrystalReports.Engine.LogOnException: 文件 C:\WINNT\TEMP\temp_347c44ee-bd40-4283-b938-be2354888206.rpt 内出错:无法连接:错误的登录参数。

源错误:


行 76: EO.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
行 77:
行 78: tt.Export();
行 79:
行 80: //输出到IE

阿泰 2005-05-11
  • 打赏
  • 举报
回复
http://www.cnblogs.com/babyt/archive/2005/04/17/139152.html
Davily 2005-05-11
  • 打赏
  • 举报
回复
感谢jamesjia,我是rpt绑定数据源后直接导为PDF在IE上显示的.没有用到viewer这个控件啊.
请看以下的代码,不知哪里出了问题:
rptProcessList tt=new rptProcessList();

SqlConnection Conn=new SqlConnection(@"Data Source=localhost;Initial Catalog=testDB;User Id=sa;Password='';" );
string strSql2=null;
strSql2="Select * from tbl_test where number=3";
DataSet dsQuery2=new DataSet();
SqlDataAdapter adapter2=new SqlDataAdapter();
adapter2.SelectCommand=new SqlCommand(strSql2,Conn);
adapter2.Fill(dsQuery2);

tt.SetDataSource(dsQuery2.Tables[0]);
tt.Refresh();

//输出pdf
CrystalDecisions.Shared.ExportOptions EO = new CrystalDecisions.Shared.ExportOptions();
CrystalDecisions.Shared.DiskFileDestinationOptions FD = new CrystalDecisions.Shared.DiskFileDestinationOptions();

//创建唯一临时文件
string myReport = "c:\\" + Session.SessionID.ToString() + ".pdf";

//输出
FD.DiskFileName = myReport;
EO = tt.ExportOptions;

EO.DestinationOptions = FD;
EO.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
EO.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;

tt.Export();

//输出到IE
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.WriteFile(myReport);
Response.Flush();
Response.Close();

//删除临时文件
System.IO.File.Delete(myReport);
simanh 2005-05-11
  • 打赏
  • 举报
回复
楼上的对,重新绑定后需要刷新
jamesjia 2005-05-11
  • 打赏
  • 举报
回复
连续使用报表viewer的refreshreport()和show()两个方法应该可以解决
我在VB。Net下就是这样解决的
Davily 2005-05-11
  • 打赏
  • 举报
回复
我加了refreshreport()还是一样啊,
tt.SetDataSource(dsQuery2.Tables[0]);这行代码没有起作用,注释掉它也是一样的结果.是什么原因哦.

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧