【问题标题】:Crystal Reports load depending on its moodCrystal Reports 根据心情加载
【发布时间】:2011-09-14 19:13:25
【问题描述】:

我在 Windows 窗体上有一个水晶报表查看器。

报表查看器有一个与之关联的报表。我以编程方式传递了 24 个参数。当我尝试运行该程序时,有时会显示报告,有时会挂起软件。

我每次都将相同的数据传递给报告。没有编译时错误。当我进行分步调试时,每次报告都能完美加载并且没有挂断。

报告开头如此喜怒无常的原因是什么????

编辑1:

在单步调试过程中,我发现将reportsource 分配给CrystalReportViewer 会导致软件挂起。

 goldBillReport = new GoldBill();
 crystalReportViewer1.ReportSource = goldBillReport; //Hangs after this !!
 SetGoldParameters();

编辑 2: 我现在改变了场景,我采用了简单的窗口形式,添加了一个水晶报表查看器。其次,我创建了一个空白水晶报表。

现在我在包含查看器的 windows 窗体的窗体加载事件中编写以下行。

goldBillReport = new BillReport();
crystalReportViewer1.ReportSource = goldBillReport ;

当我加载表单时,80% 的时间它会显示空白报告(根据需要)。剩下的时间它什么也没显示,应用程序只是挂起。为什么?

注意:我的实际应用程序非常大。是程序没有获得适当的内存空间来打开报告的问题吗?如果是,那么有什么方法可以收集垃圾吗?

提前谢谢你

【问题讨论】:

  • 计算机的有趣之处在于,它们不会根据心情、是否 [不] 喜欢你或天气来做事。还有其他原因(虽然是间歇性的)导致问题(可能是 SQLEXPRESS 框的数据库并发客户端/连接限制?)。
  • @Brad - 你可能是对的,但我对 Crystal 的经验表明 OP 可能正在做某事...... =)
  • 您是否尝试过单步执行您的代码以查看可能挂断的位置?
  • @Yuck:我听到了,这就是为什么我“说服”我的老板非常很快地走 SSRS 的路线。哎呀,我什至正在绘制 ASP.NET/PHP 报表页面,只是为了避免编写 Crystal 报表。
  • 这是水晶报表的一个功能。

标签: c# winforms crystal-reports


【解决方案1】:

当表单关闭时,我会检查您是否正确处理了查看器。

另外,我遇​​到了一个问题,即我第一次运行报告时速度非常慢。解决方案是在应用程序启动期间(在启动屏幕后)加载临时报告。这确保了 Crystal Report DLL 在用户生成报告之前已完全加载。在我这样做之后,报告每次都会在几秒钟内加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    相关资源
    最近更新 更多