- Добавить один метод
Public Sub LoadReport()
Try
If Validation() = True Then Exit Sub
If ClsDcon.ShowItems(Me.Text) = False Then Exit Sub
Dim lvarr(4, 1) As String
lvarr(0, 0) = "@CompId"
lvarr(0, 1) = Connection.strGCompanyId 'strCompId
lvarr(1, 0) = "@DepartmentId"
lvarr(1, 1) = txtstaffAbscentees.GetTextBox.Tag 'strSDMUId
lvarr(2, 0) = "@FromDate"
lvarr(2, 1) = ClsDcon.ConvertDateToInt(dtpFromDate.GetTextBox.Text) 'strFromDate
lvarr(3, 0) = "@PFromDate"
lvarr(3, 1) = "Staff Abscentees Report On: " & dtpFromDate.GetTextBox.Text 'ClsDcon.ConvertIntToDate(strFromDate)
lvarr(4, 0) = "@Flags"
lvarr(4, 1) = intFlag
Me.Text = frmMain
ClsDcon.LoadCrystalReport(New CrtStaffAbscentees, crpStaffAbscenteesReportviewer, lvarr)
Catch ex As Exception
End Try
End Sub
* 2. Добавить функцию для загрузки и установки параметра *
Public Sub LoadCrystalReport(ByVal pvcrpReport As Object, ByVal pvcrvControl As CrystalReportViewer, Optional ByVal pvarrParamValues As Array = Nothing, Optional ByVal pvstrSelection As String = Nothing, Optional ByVal invVal As Integer = 0)
Try
Dim lvobjReport As Object = pvcrpReport
'myRpt.Load("D:\Projects\MyAccountswin2008new\UILayer\Sales\Sales Reports\CrtPOSBillReport.rpt")
For i As Integer = 0 To pvarrParamValues.GetUpperBound(0)
lvobjReport.SetParameterValue(pvarrParamValues(i, 0).ToString, pvarrParamValues(i, 1))
Next
Dim lsMethod As String = System.Reflection.MethodBase.GetCurrentMethod().Name
Dim loConnInfo As New CrystalDecisions.Shared.ConnectionInfo
'Dim lsMode As String = Configuration.ConfigurationSettings.AppSettings("Mode")
loConnInfo.ServerName = My.Settings.RPTServerName
loConnInfo.DatabaseName = My.Settings.RPTDatabaseName
loConnInfo.UserID = My.Settings.RPTUserID
loConnInfo.Password = My.Settings.RPTPassword
Dim loTables As CrystalDecisions.CrystalReports.Engine.Tables
Dim loTable As CrystalDecisions.CrystalReports.Engine.Table
Dim loTableLogonInfo As CrystalDecisions.Shared.TableLogOnInfo
loTables = lvobjReport.Database.Tables
For Each loTable In loTables
loTableLogonInfo = loTable.LogOnInfo
loTableLogonInfo.ConnectionInfo = loConnInfo
loTable.ApplyLogOnInfo(loTableLogonInfo)
loTable.Location = loTable.Name
Next
'pvcrvControl.RefreshReport()
pvcrvControl.ReportSource = lvobjReport
pvcrvControl.Refresh()
'pvcrvControl.RefreshReport()
If invVal = 1 Then
Dim prd As New System.Drawing.Printing.PrintDocument
lvobjReport.PrintOptions.PrinterName = prd.PrinterSettings.PrinterName
If lvobjReport.PrintOptions.PrinterName = "" Or lvobjReport.PrintOptions.PrinterName = Nothing Then
MyMessagebox.MyMessagebox.ShowMessage("Set Default Printer", "Global Funtions_UI", MessageBoxIcon.Information)
End If
'prd.DefaultPageSettings.PaperSize.RawKind = PaperKind.Custom
'prd.DefaultPageSettings.PaperSize.PaperName = "NewSize"
'Dim prnPS As New Printing.PaperSize("HalfFolio", 850, 650)
'Dim intIdx As Integer
'For intIdx = 0 To prd.PrinterSettings.PaperSizes.Count - 1 Step 1
' If prd.PrinterSettings.PaperSizes(intIdx).Kind = Printing.PaperKind.Custom Then
' prnPS.RawKind = prd.PrinterSettings.PaperSizes(intIdx).RawKind
' prd.DefaultPageSettings.PaperSize = prnPS
' End If
'Next
'prd.Print()
'If prd.DefaultPageSettings.PaperSize.Kind = PaperKind.Custom Then
' prd.DefaultPageSettings.PaperSize.Width = 827
' prd.DefaultPageSettings.PaperSize.Height = 650
NumberofPrints()
lvobjReport.PrintToPrinter(dblPrintValue, False, 0, 0)
'End If
ElseIf invVal = 2 Then
Dim prd As New System.Drawing.Printing.PrintDocument
lvobjReport.PrintOptions.PrinterName = prd.PrinterSettings.PrinterName
If lvobjReport.PrintOptions.PrinterName = "" Or lvobjReport.PrintOptions.PrinterName = Nothing Then
MyMessagebox.MyMessagebox.ShowMessage("Set Default Printer", "Global Funtions_UI", MessageBoxIcon.Information)
End If
NumberOfReturnPrints()
lvobjReport.PrintToPrinter(dblReturnPrintValue, False, 0, 0)
End If
Catch ex As Exception
MYERROR.WriteLogFile("GlobalFunctions_UI", "LoadCrystalReport", ex)
End Try
End Sub