82 lines
3.6 KiB
VB.net
82 lines
3.6 KiB
VB.net
Imports DevExpress.Persistent.BaseImpl
|
|
Imports DevExpress.ExpressApp
|
|
Imports DevExpress.Data.Filtering
|
|
Imports DevExpress.ExpressApp.Reports
|
|
Imports System.IO
|
|
Imports DevExpress.XtraReports.UI
|
|
Imports DevExpress.ExpressApp.ReportsV2
|
|
|
|
Public Class XAFPrintHelper
|
|
Private _Frame As Frame
|
|
Private _ReportData As ReportData
|
|
Private _ReportDataV2 As ReportDataV2
|
|
Private _CriteriaOperator As CriteriaOperator
|
|
Private _XPOObjectSpace As Xpo.XPObjectSpace
|
|
Sub New(XPOObjectSpace As Xpo.XPObjectSpace, Frame As Frame, ReportData As ReportData, CriteriaOperator As CriteriaOperator)
|
|
_Frame = Frame
|
|
_ReportData = ReportData
|
|
_CriteriaOperator = CriteriaOperator
|
|
_XPOObjectSpace = XPOObjectSpace
|
|
End Sub
|
|
Sub New(XPOObjectSpace As Xpo.XPObjectSpace, Frame As Frame, ReportDataV2 As ReportDataV2, CriteriaOperator As CriteriaOperator)
|
|
_Frame = Frame
|
|
_ReportDataV2 = ReportDataV2
|
|
_CriteriaOperator = CriteriaOperator
|
|
_XPOObjectSpace = XPOObjectSpace
|
|
End Sub
|
|
|
|
Public Sub ShowPreview()
|
|
_Frame.GetController(Of Reports.ReportServiceController).ShowPreview(_ReportData, _CriteriaOperator, True)
|
|
End Sub
|
|
Public Sub PrintToCurrentPrinter()
|
|
_Frame.GetController(Of Reports.ReportServiceController).ShowPreview(_ReportData, _CriteriaOperator, True)
|
|
End Sub
|
|
Public Overridable Sub ShowPreviewV2()
|
|
|
|
If _ReportDataV2 Is Nothing Then
|
|
MsgBox("Nincs beállítva nyomtatvány", vbOK + vbExclamation, "F I G Y E L E M !")
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim _XtraReport As XtraReport = ReportDataProvider.ReportsStorage.LoadReport(_ReportDataV2)
|
|
Dim dataSource As Object = TryCast(_XtraReport.DataSource, DevExpress.Persistent.Base.ReportsV2.ISupportCriteria)
|
|
dataSource.Criteria = _CriteriaOperator
|
|
_Frame.GetController(Of ReportsV2.ReportServiceController).SetupBeforePrint(_XtraReport, Nothing, Nothing, False, Nothing, False)
|
|
_XtraReport.ShowPreview()
|
|
'Dim handle As String = ReportDataProvider.ReportsStorage.GetReportContainerHandle(_ReportDataV2)
|
|
'_Frame.GetController(Of ReportsV2.ReportServiceController).ShowPreview(handle, _CriteriaOperator)
|
|
End Sub
|
|
Public Overridable Sub ShowPreviewV2PDF()
|
|
|
|
If _ReportDataV2 Is Nothing Then
|
|
MsgBox("Nincs beállítva nyomtatvány", vbOK + vbExclamation, "F I G Y E L E M !")
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim _XtraReport As XtraReport = ReportDataProvider.ReportsStorage.LoadReport(_ReportDataV2)
|
|
Dim dataSource As Object = TryCast(_XtraReport.DataSource, DevExpress.Persistent.Base.ReportsV2.ISupportCriteria)
|
|
Dim _PDFExportOptions As New DevExpress.XtraPrinting.PdfExportOptions
|
|
|
|
dataSource.Criteria = _CriteriaOperator
|
|
_Frame.GetController(Of ReportsV2.ReportServiceController).SetupBeforePrint(_XtraReport, Nothing, Nothing, False, Nothing, False)
|
|
|
|
_PDFExportOptions.ShowPrintDialogOnOpen = False
|
|
|
|
_XtraReport.ExportToPdf("c:\temp\kutya.pdf", _PDFExportOptions)
|
|
Process.Start("c:\temp\kutya.pdf")
|
|
End Sub
|
|
Public Overridable Function GeneratePDF() As MemoryStream
|
|
Dim _XafReport As XafReport = _ReportData.LoadReport(_XPOObjectSpace)
|
|
Dim _MemoryStream As New MemoryStream
|
|
Dim _PDFExportOptions As New DevExpress.XtraPrinting.PdfExportOptions
|
|
_PDFExportOptions.ShowPrintDialogOnOpen = False
|
|
|
|
_XafReport.FilterString = _CriteriaOperator.ToString
|
|
_XafReport.ExportToPdf(_MemoryStream, _PDFExportOptions)
|
|
_MemoryStream.Seek(0, System.IO.SeekOrigin.Begin)
|
|
|
|
Return _MemoryStream
|
|
|
|
End Function
|
|
End Class
|