vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Lösung 
Autor: WaldiMaywood
Datum: 25.03.04 21:00

hhm, habe mich mal wieder mit der sehr umfangreichen Welt des CR eingelassen und diese beiden Methoden erstellt:
   '// Alle Obj. abhängig vom Obj.Typ des SReport ermitteln
  Private Function GetObjectsFromSubReport(ByVal FromReport As _
    CrystalDecisions.CrystalReports.Engine.SubreportObject, ByVal ObjectType As _
    Type) As CrystalDecisions.CrystalReports.Engine.ReportObject()
        Dim arr As New ArrayList
        Dim rd As CrystalDecisions.CrystalReports.Engine.ReportDocument
        rd = FromReport.OpenSubreport(FromReport.SubreportName)
        For Each cro As CrystalDecisions.CrystalReports.Engine.ReportObject In _
          rd.ReportDefinition.ReportObjects
            If cro.GetType Is ObjectType Then
                arr.Add(cro)
            End If
        Next
        Return CType(arr.ToArray(GetType( _
          CrystalDecisions.CrystalReports.Engine.ReportObject)), _
          CrystalDecisions.CrystalReports.Engine.ReportObject())
    End Function
 
    '// Alle SReports eines Reports ermitteln ...
    Private Function GetAllSubReports(ByVal FromReport As _
      CrystalDecisions.CrystalReports.Engine.ReportClass) As _
      CrystalDecisions.CrystalReports.Engine.SubreportObject()
        Dim arr As New ArrayList
        For Each rs As CrystalDecisions.CrystalReports.Engine.Section In _
          FromReport.ReportDefinition.Sections()
            For Each o As Object In rs.ReportObjects
                If o.GetType Is GetType( _
                  CrystalDecisions.CrystalReports.Engine.SubreportObject) Then
                    arr.Add(CType(o, _
                    CrystalDecisions.CrystalReports.Engine.SubreportObject))
                End If
            Next
        Next
        Return CType(arr.ToArray(GetType( _
          CrystalDecisions.CrystalReports.Engine.SubreportObject)), _
          CrystalDecisions.CrystalReports.Engine.SubreportObject())
    End Function
Hier der Aufruf:
      Dim rpt As New [DEIN_REPORT]
       Dim srpt As CrystalDecisions.CrystalReports.Engine.SubreportObject() = _
         Me.GetAllSubReports(rpt)
        If srpt.Length > 0 Then
            For Each csr As _
              CrystalDecisions.CrystalReports.Engine.SubreportObject In srpt
                For Each o As _
                CrystalDecisions.CrystalReports.Engine.ReportObject In _
                GetObjectsFromSubReport(csr, GetType( _
                CrystalDecisions.CrystalReports.Engine.PictureObject))
                    MessageBox.Show("ObjektName: " + o.Name + " : ObjektType: " _
                    + o.GetType.Name)
                Next
            Next
        End If
Habe das wie gesagt, sehr schnell gecodet. Ist also noch etwas verbesserungswürdig,
Findet alle SReports + Objecte. Habe bewusst die Namespaces verwendet, da ich nicht
mehr sicher war, wo ich welche Klasse noch einmal wieder finde ...

Wenn etwas unklar, oder das Problem nicht gleich richtig erkannt wurde, einfach melden ...

Steve
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zugriff auf die Elemente eines Crystal Report3.703WaldiMaywood03.02.04 14:20
Re: Zugriff auf die Elemente eines Crystal Report2.888waYne03.02.04 14:35
Re: Zugriff auf die Elemente eines Crystal Report2.725WaldiMaywood03.02.04 14:57
Lösung2.906WaldiMaywood03.02.04 15:40
Re: Lösung2.678waYne03.02.04 16:42
Re: Lösung2.818WaldiMaywood03.02.04 16:57
Re: Lösung2.892waYne03.02.04 20:15
Re: Lösung2.627yellow_lucky03.02.04 17:09
Re: Lösung2.658Pepperoni03.02.04 18:57
Noch ein Schritt weiter2.804Spassmann15.03.04 11:35
Re: Lösung2.602Bloody_Newbie24.03.04 11:41
Re: Lösung2.595Bloody_Newbie25.03.04 17:08
Re: Lösung2.614WaldiMaywood25.03.04 17:34
Re: Lösung2.608Bloody_Newbie25.03.04 19:30
Re: Lösung2.638WaldiMaywood25.03.04 19:40
Re: Lösung2.929Bloody_Newbie25.03.04 19:56
Re: Lösung2.710WaldiMaywood25.03.04 20:01
Re: Lösung2.792Bloody_Newbie25.03.04 20:07
Re: Lösung3.261WaldiMaywood25.03.04 21:00
Re: Lösung2.611Bloody_Newbie25.03.04 21:07
Re: Lösung2.803Bloody_Newbie25.03.04 21:32
Re: Lösung2.591Spassmann25.03.04 17:34
Re: Lösung2.682Bloody_Newbie25.03.04 19:29
Re: Lösung2.675Spassmann26.03.04 15:00
Re: Lösung2.816Bloody_Newbie26.03.04 15:07

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel