vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2017
 
zurück
Rubrik: Verschiedenes / Sonstiges   |   VB-Versionen: VB2008 - VB201513.02.17
2 Funktionen zur Manipulation des ReportViewer-Controls

Es werden 2 Funktion gezeigt, die einerseits bewirken, dass die Untermenüpunkte von 'Export' mit Icons versehen werden und andererseits, dass ein solcher Untermenüpunkt ausgeblendet werden kann.

Autor:   Dietrich HerrmannBewertung:     [ Jetzt bewerten ]Views:  870 
ohne HomepageSystem:  Vista, Win7, Win8, Win10kein Beispielprojekt 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise bis zu 120,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 479,20 EUR statt 599,- EUR
  • sevDTA 3.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 20,00 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 55,20 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Im Folgenden übermittle ich die in der Kurzbeschreibung erwähnten Funktionen und ihre Anwendung.

    1. Untermenüpunkte von 'Export' mit Grafiken versehen (besteht allerdings aus 3 Funktionen, die als Hilfsfunktionen funktionieren):

    ''' <summary>
    '''    Hinzufügen von Icons zu den DropDown-Items Export
    ''' </summary>
    ''' <param name="rpv">das ReportViewerControl-</param>
    ''' <param name="ItemName"></param>
    Public Sub AddImgRVToolBar(rpv As ReportViewer, ItemName As String)
      Dim ts As ToolStrip = FindToolStrip(Of ToolStrip)(rpv)
      If ts IsNot Nothing Then
        Dim exportButton As ToolStripDropDownButton =
          TryCast(ts.Items(ItemName), ToolStripDropDownButton)
        If exportButton IsNot Nothing Then
          AddHandler exportButton.DropDownOpened, AddressOf OnExportOpened
        End If
      End If
    End Sub
    ' die Grafiken bei den Untermenüpunkten einsetzen
    Public Sub OnExportOpened(sender As Object, e As EventArgs)
      If TypeOf sender Is ToolStripDropDownButton Then
        Dim button As ToolStripDropDownButton = DirectCast(sender, ToolStripDropDownButton)
        For Each item As ToolStripItem In button.DropDownItems
          Dim extension As RenderingExtension = DirectCast(item.Tag, RenderingExtension)
          If extension IsNot Nothing Then
            Select Case extension.LocalizedName
              Case "Excel"
                item.Image = My.Resources.excel
              Case "PDF"
                item.Image = My.Resources.pdf
              Case "Word"
                item.Image = My.Resources.word
            End Select
          End If
        Next
      End If
    End Sub
    ' den Toolstrip des ReportViewer-Controls ermitteln
    Private Function FindToolStrip(Of T As Control)(ByVal control As Control) As T
      If control Is Nothing Then
        Return Nothing
      ElseIf TypeOf control Is T Then
        Return DirectCast(control, T)
      Else
        Dim result As T = Nothing
        For Each embedded As Control In control.Controls
          If result Is Nothing Then result = FindToolStrip(Of T)(embedded)
        Next
        Return result
      End If
    End Function

    In meinem Konstrukt sieht man, dass die Grafiken im Ressource-Ordner des VB-Projekts liegen sollten.

    Anwendung:

    Dim rpv As New ReportViewer
    ...

    Nachdem rpv initialisiert wurde: AddImgRVToolBar(rpV, "export")

    2. 'Export'-Untermenüpunkt ausblenden:

    ''' <summary>
    '''    Unsichtbarmachen eines DropDown-Items von Export
    ''' </summary>
    ''' <param name="rpv">das ReportViewer-Control</param>
    ''' <param name="strFormatName">der Name des betreffenden DropDown-Items</param>
    Public Sub DisableUnwantedExportFormat(rpv As ReportViewer, strFormatName As String)
      Dim info As FieldInfo
      For Each extension As RenderingExtension In rpv.LocalReport.ListRenderingExtensions()
        If extension.Name = strFormatName Then
          info = extension.[GetType]().GetField("m_isVisible", BindingFlags.Instance _
                                    Or BindingFlags.NonPublic)
          info.SetValue(extension, False)
        End If
      Next
    End Sub

    Anwendung:
    Nachdem rpv initialisiert wurde bspw.: DisableUnwantedExportFormat(rpV, "PDF")

    Dieser Tipp wurde bereits 870 mal aufgerufen.

    Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

    Über diesen Tipp im Forum diskutieren
    Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

    Neue Diskussion eröffnen

    nach obenzurück


    Anzeige

    Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

    Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
    - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
    - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
    Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
     
       

    Druckansicht Druckansicht Copyright ©2000-2017 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