水晶报表很慢的问题

msnadair 2010-10-18 12:15:13
在BS系统上,使用了水晶报表打印功能.
调用代码如下:

public partial class InfoPrint : System.Web.UI.Page
{
private InfoListRptCnEn decCR = new InfoListRptCnEn();

protected void Page_Load(object sender, EventArgs e)
{
DsInfoPrint dsCR = null;
//获得数据源
if (Session["DataSetInfoPrint"] != null)
{
dsCR = (DsInfoPrint)Session["DataSetInfoPrint"];
Session["DataSetInfoPrint"] = null;
}
// 设置打印数据
if (dsCR != null)
{
decCR.SetDataSource(dsCR);

CrystalReportViewer1.ReportSource = decCR;
CrystalReportViewer1.DataBind();
CrystalReportViewer1.RefreshReport();
}


}

/// <summary>
/// 注销报表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_UnLoad(object sender, EventArgs e)
{
decCR.Close();
decCR.Dispose();
}
}


现象:
1.弹出这个页面很快,弹出打印报表预览页面时也很快. 但是,报表预览页面是空白(加载数据很慢)很慢
2.水晶报表预览界面最顶端(左边)有两个按钮:导出和打印.点一下导出,也需要很长的时间才能显示出导出格式的选择界面.
但,如果加载过一次,下一次再去点导出,那么会很快!

疑问:
1.加载预览页面和点预览页面上的导出(或打印)时,会去调用脚本查数据还是什么的? 不然为什么会那么慢?
数据明明在绑定前就已经查出来了呀?
2.这么慢的原因可能是什么? 加载预览页面是正常的(是指能够显示出预览页页,但还是很慢才显示出来),但点击导出却显示出黄页,提示说我的一个取数据的SQL脚本错误!无语?脚本错误,怎么还能将数据查出放到SESSION中,怎么还能显示出预览页?
3.以前是很快的,没问题的.就上个版本发上去,也没改这个功能什么东西,结果就不行了!

烦请各位大侠支招一下! 谢谢!!!
...全文
188 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangsg830603 2011-11-12
  • 打赏
  • 举报
回复
e.Data.GetDataPresent(typeof(DataGridViewRow)) 用VB.net 怎么写
msnadair 2010-10-18
  • 打赏
  • 举报
回复
不是吧! 竟然没人光顾? 大侠支支招吧! 谢谢
msnadair 2010-10-18
  • 打赏
  • 举报
回复
我找到原因了.
是因为这个代码:Session["DataSetInfoPrint"] = null;
导出,打印,翻页都会重新绑定数据源,当你的数据源被清除后,就一直空白了
msnadair 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 missukiss02 的回复:]
慢的原因我觉得是读dataset的原因,第2次再打的时候已经有了这个dataset,所以读取就很快。。
[/Quote]

SESSION中不是已经有数据集了吗? 为什么说读取DATASET的原因?

TO:yeness
IIS配置是指哪里?
xuan.ye 2010-10-18
  • 打赏
  • 举报
回复
如果没改代码,就是iis配置的问题了
早安您好 2010-10-18
  • 打赏
  • 举报
回复
绑顶 希望楼主早日解决
missukiss02 2010-10-18
  • 打赏
  • 举报
回复
慢的原因我觉得是读dataset的原因,第2次再打的时候已经有了这个dataset,所以读取就很快。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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