2010-10-08 3 views
0

J'écris un rapport dans VB .NET (à l'aide d'Active Reports) qui affiche des détails sur un emplacement, puis affiche un groupe d'images qui sont stockées dans une base de données. Les images sont affichées dans mon rapport principal via un sous-rapport.Ajout d'un sous-rapport à Active Reports

Cependant, je n'arrive pas à charger les images. J'ai deux fichiers, le rapport principal (rptMain) et le sous-rapport d'image (rptSubImages). Le sous Detail1_Format dans le rptSubImages n'est jamais exécuté, ce qui explique pourquoi les images n'apparaissent pas, et je n'arrive pas à comprendre pourquoi! J'ai inclus le code ci-dessous ... quelqu'un peut-il préciser pourquoi ma section de détail de sous-rapport ne s'appelle pas? Le rapport rptSubImages est initialisé, mais si je place un point d'arrêt dans le sous-élément detail, il ne sera jamais intercepté pendant le débogage.

Voici le code:

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 

Répondre

1

Résolu mon problème :) Je bumped la section qui a créé et défini les valeurs du sous-rapport sur Detail_Format et le mettre dans ReportStart de rptMain, et voila, il charge :) Je l'ai juste eu dans la mauvaise partie du formulaire principal!

Questions connexes