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: Dieser Tipp wurde bereits 5.691 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
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. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
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. |