146 lines
6.1 KiB
VB.net
146 lines
6.1 KiB
VB.net
Imports Microsoft.Reporting.WinForms
|
|
Imports GrapeCity.ActiveReports.Document
|
|
Imports System.Globalization
|
|
Imports System.IO
|
|
|
|
Public Class frmPrintLayout
|
|
Public datvon As Date
|
|
Public RaisePrintEvent As Boolean = False
|
|
Public speedPrint As Boolean = False
|
|
Private WithEvents exportMenu As ToolStripMenuItem = New ToolStripMenuItem("Export")
|
|
Public Event PRINT()
|
|
Dim art As String = ""
|
|
Public Sub New()
|
|
InitializeComponent()
|
|
End Sub
|
|
Public Sub New(ByVal art As String)
|
|
InitializeComponent()
|
|
Me.art = art
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub frmPrintLayout_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
|
|
If e.KeyCode = Keys.ControlKey And e.KeyCode = Keys.P Then
|
|
btnPrint.PerformClick()
|
|
End If
|
|
End Sub
|
|
Private Sub frmPrintLayout_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
|
|
Viewer.Toolbar.ToolStrip.Items.Add(exportMenu)
|
|
'Hilfstexte in Toolbar eindeutschen
|
|
Viewer.Toolbar.ToolStrip.Items(0).ToolTipText = "Seitenübersicht"
|
|
Viewer.Toolbar.ToolStrip.Items(2).ToolTipText = "Drucken"
|
|
Viewer.Toolbar.ToolStrip.Items(2).Visible = False
|
|
Viewer.Toolbar.ToolStrip.Items(5).ToolTipText = "Kopieren"
|
|
Viewer.Toolbar.ToolStrip.Items(6).ToolTipText = "Suchen"
|
|
Viewer.Toolbar.ToolStrip.Items(10).ToolTipText = "aktueller Zoom"
|
|
Viewer.Toolbar.ToolStrip.Items(12).ToolTipText = "an Fensterbreite anpassen"
|
|
Viewer.Toolbar.ToolStrip.Items(13).ToolTipText = "vollständige Seite an Fenstergröße anpassen"
|
|
Viewer.Toolbar.ToolStrip.Items(15).ToolTipText = "Einzelseitenansicht"
|
|
Viewer.Toolbar.ToolStrip.Items(16).ToolTipText = "Bildlauf aktivieren"
|
|
Viewer.Toolbar.ToolStrip.Items(17).ToolTipText = "Mehrseiten-Ansicht"
|
|
Viewer.Toolbar.ToolStrip.Items(19).ToolTipText = "erste Seite"
|
|
Viewer.Toolbar.ToolStrip.Items(20).ToolTipText = "vorige Seite"
|
|
Viewer.Toolbar.ToolStrip.Items(21).ToolTipText = "aktuelle Seite"
|
|
Viewer.Toolbar.ToolStrip.Items(22).ToolTipText = "nächste Seite"
|
|
Viewer.Toolbar.ToolStrip.Items(23).ToolTipText = "letzte Seite"
|
|
Viewer.Toolbar.ToolStrip.Items(25).ToolTipText = "Sprung rückwärts"
|
|
Viewer.Toolbar.ToolStrip.Items(26).ToolTipText = "Sprung vorwärts"
|
|
Viewer.Toolbar.ToolStrip.Items(30).ToolTipText = "Anzeige refreshen"
|
|
Viewer.Toolbar.ToolStrip.Items(33).ToolTipText = "Ansicht-Modus"
|
|
Viewer.Toolbar.ToolStrip.Items(34).ToolTipText = "Textauswahl-Modus"
|
|
Viewer.Toolbar.ToolStrip.Items(35).ToolTipText = "Schnappschuss erstellen"
|
|
End Sub
|
|
|
|
|
|
Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click
|
|
If RaisePrintEvent Then
|
|
RaiseEvent PRINT()
|
|
Else
|
|
Me.Viewer.Print(True, True, True)
|
|
End If
|
|
|
|
|
|
Exit Sub
|
|
If Me.Viewer.Name = "" Then
|
|
|
|
End If
|
|
'Me.Viewer.Print(True, True, True)
|
|
'Dim p As GrapeCity.Viewer.Common.PrintingSettings = Me.Viewer.PrintingSettings
|
|
|
|
|
|
'If Me.ReportViewer1.PrintDialog() = DialogResult.OK Then Me.Close()
|
|
|
|
End Sub
|
|
Public Sub PRINTMe()
|
|
RaiseEvent PRINT()
|
|
End Sub
|
|
|
|
Private Sub exportMenu_Click(sender As Object, e As EventArgs) Handles exportMenu.Click
|
|
Exportieren(Viewer.Document, "Auswertung offene Anträge mit Vorauszahlung")
|
|
End Sub
|
|
|
|
|
|
|
|
Public Shared Sub Exportieren(ByVal document As SectionDocument, ByVal Namensvorschlag As String)
|
|
Try
|
|
Dim datei As FileInfo = Nothing
|
|
|
|
If Not ermittleDateiname(datei, Namensvorschlag) Then
|
|
Exit Sub
|
|
End If
|
|
|
|
Select Case datei.Extension.ToUpper()
|
|
Case ".pdf".ToUpper()
|
|
Dim pdfExport1 As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport()
|
|
pdfExport1.Export(document, datei.FullName)
|
|
Case ".xlsx".ToUpper()
|
|
Dim xlsExport1 As New GrapeCity.ActiveReports.Export.Excel.Section.XlsExport()
|
|
xlsExport1.FileFormat = GrapeCity.ActiveReports.Export.Excel.Section.FileFormat.Xlsx
|
|
xlsExport1.Export(document, datei.FullName)
|
|
Case ".rtf".ToUpper()
|
|
Dim rtfExport1 As New GrapeCity.ActiveReports.Export.Word.Section.RtfExport()
|
|
rtfExport1.Export(document, datei.FullName)
|
|
Case Else
|
|
MessageBox.Show("Es würde ein ungültiges Exportformat ausgewählt. Erlaubt sind 'pdf', 'rtf' und 'xlsx'.")
|
|
Exit Sub
|
|
End Select
|
|
|
|
If MessageBox.Show("Der Export wurde erfolgreich durchgeführt. Soll die Exportdatei jetzt geöffnet werden?", "Export", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) = DialogResult.Yes Then
|
|
Process.Start(datei.FullName)
|
|
End If
|
|
Catch ex As Exception
|
|
MessageBox.Show("Exportieren fehlgeschlagen. Fehler: " + ex.Message)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Shared Function ermittleDateiname(ByRef datei As FileInfo, ByRef Namensvorschlag As String) As Boolean
|
|
Using saveDialog As New SaveFileDialog
|
|
saveDialog.AddExtension = True
|
|
saveDialog.CheckPathExists = True
|
|
saveDialog.FileName = Namensvorschlag
|
|
saveDialog.DefaultExt = ".pdf"
|
|
saveDialog.Filter = "pdf-Dateien (*.pdf)|*.pdf|Word Dateien (*.rtf)|*.rtf|Excel Dateien (*.xlsx)|*.xlsx"
|
|
saveDialog.OverwritePrompt = True
|
|
saveDialog.ValidateNames = True
|
|
saveDialog.FilterIndex = 0
|
|
If saveDialog.ShowDialog() = DialogResult.OK Then
|
|
datei = New FileInfo(saveDialog.FileName)
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
End Using
|
|
End Function
|
|
|
|
|
|
Private Sub Viewer_LoadCompleted(sender As Object, e As EventArgs) Handles Viewer.LoadCompleted
|
|
If speedPrint Then
|
|
' MsgBox("L")
|
|
btnPrint.PerformClick()
|
|
'RemoveHandler Viewer.LoadCompleted, Viewer_LoadCompleted(Viewer, New EventArgs)
|
|
speedPrint = False
|
|
End If
|
|
End Sub
|
|
End Class |