Ash*_*Ash 5 c# vb.net crystal-reports visual-studio-2008 crystal-reports-2008
嗨,我已经粘贴了一段代码,我正在显示一份报告.我正在使用Visual Studio 2008 Crystal Report引擎.它对这段代码很有用
问题:每次运行报告时,它都会生成一个('.*tmp','.*rpt')文件,通常位于临时文件夹c:\ windows\temp中但是我们可以通过设置一个来删除*.tmp文件在应用程序池上回收,但需要一种方法来摆脱.rpt文件.
找到解决方案:在报表对象上调用Close()和Dispose().我正在做的方式是crReportDoc.Close()然后crReportDoc.Dispose()
实际问题:如果调用Dispose(),报告会出现以下错误'对象引用未设置为对象的实例'
如果其中一位同伴可以帮我解决问题,我将非常感激,因为我对编程很陌生.
谢谢
Dim crReportDoc = New CrystalDecisions.CrystalReports.Engine.ReportDocument
crReportDoc = Session("ReportDocument")
ReportViewer.DisplayToolbar = True
ReportViewer.EnableDrillDown = True
ReportViewer.DisplayGroupTree = False
ReportViewer.Visible = True
ReportViewer.DisplayToolbar = True
ReportViewer.ReportSource = crReportDoc
Run Code Online (Sandbox Code Playgroud)
有时,即使您对ReportDocument对象调用 dispose,然后Temp文件夹中的文件GC.Collect()仍然不会被清理。并且有一个限制,就是不可以。临时文件夹中的文件数,之后 CR 停止执行进一步的报告请求。.rpt.rpt
奇怪的是,当您在函数或事件处理程序中声明 ReportDocument 对象时,就会发生这种情况。
但是,如果您在页面范围的全局上下文中声明您的 ReportDocument ,那么当您在事件中调用 Dispose 方法时,水晶报告会愉快地清除临时 .rpt 文件Page_Unload()!
| 归档时间: |
|
| 查看次数: |
8824 次 |
| 最近记录: |