2010-10-08 56 views
0

我正在VB .NET中编写报表(使用活动报表),显示有关位置的详细信息,然后显示一堆图像,这些图像存储在数据库中。图像通过子报告显示在我的主报告中。将子报表添加到活动报表

但是,我无法获取要加载的图像。我有两个文件,主报告(rptMain)和图像子报告(rptSubImages)。 rptSubImages中的子Detail1_Format永远不会运行,这就是为什么图像没有出现,我不明白为什么!我已经包含下面的代码...任何人都可以指出为什么我的子报表细节部分没有被调用? rptSubImages报告被初始化,但如果我在detail sub中放置一个停止点,它在调试过程中永远不会被捕获。

下面是代码:

rptMain:


Imports DataDynamics.ActiveReports 
Imports DataDynamics.ActiveReports.Document 
Imports System.Data 
Imports System.Data.OleDb 

Public Class rptMain 
    Private rpt As rptSubImages 

    Private Sub rptMain_ReportStart(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ReportStart 

    End Sub 

    Private Sub Detail1_Format(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Detail1.Format 
     Me.SubReport2.Report = rpt 

     Dim cmd As New OleDbCommand("rptMain") 
     cmd.Parameters.Add("@LocationID", OleDbType.Integer).Value = locationID 

     Windows.Forms.Cursor.Current = Cursors.WaitCursor 

     Dim dsLocationInfo As DataSet = objPlugIn.GetProcDataset(cmd, Aquifer.PlugIn.DataFormat.Compressed) 


     '--image 
     Dim dtImage As DataTable = dsLocationInfo.Tables(1) 
     If dtImage.Rows.Count > 0 Then 
      rpt = New rptSubImages 
      SubReport2.Report = rpt 
      SubReport2.Report.DataSource = dtImage 
     End If 
    End Sub 
End Class 

rptSubImages:


Imports DataDynamics.ActiveReports 
Imports DataDynamics.ActiveReports.Document 

Public Class rptSubImages 
    Public Sub New() 
     InitializeComponent() 
    End Sub 

    Private Sub Detail1_Format(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Detail1.Format 
     'some text 
    End Sub 
End Class 

回答

1

解决了我自己问题:)我碰到创建的部分,并将Detail_Format的子报表的值设置为Detail_Format,并将其放在ReportStart的rptMain中,瞧,它加载:)我只是把它放在主窗体的错误部分!