代码之家  ›  专栏  ›  技术社区  ›  Richard Gale

晶体报告的处理

  •  0
  • Richard Gale  · 技术社区  · 14 年前

    我设置了许多报表查看器,每个查看器都可以打开许多Crystal报表。 这一切都很好。

    我希望简化在DisposeForReports()事件中如何处理报表。

    我现在做的是:

     If (_rpt1 IsNot Nothing) Then
         _rpt1.Close()
         _rpt1.Dispose()
     End If
    
     If (_rpt2 IsNot Nothing) Then
         _rpt2.Close()
         _rpt2.Dispose()
     End If
    

    这可以用数组来完成吗?

    我在想,每次生成报告时,我都可以将报告添加到数组中。

    然后在DisposeForReports()事件中执行以下操作:

    If (reportsArray IsNot Nothing) Then
    
      For Each report As CrystalDecisions.CrystalReports.Engine.ReportClass In reportsArray
    
         If (report IsNot Nothing) Then
            report.Close()
            report.Dispose()
         End If
    
      Next
    
      reportsArray = Nothing
    
     End If
    

    对于此方法,我将像这样声明ReportsArray:

    Private reportsArray As New List(Of CrystalDecisions.CrystalReports.Engine.ReportDocument)
    

    请大家反馈给我这个,让我知道这是一个有效的方法,或如果有更好的方法做到这一点?

    干杯。

    1 回复  |  直到 10 年前
        1
  •  1
  •   user11937    14 年前