You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ITSM/.svn/pristine/e4/e47dbe73c039153e81dff73b33f...

230 lines
8.9 KiB

'Option Strict On
'Option Explicit On
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Data
Imports System.Data.SqlTypes
Imports System.Data.SqlClient
Imports System.ComponentModel
Public Class frmReportViewer
Inherits System.Windows.Forms.Form
#Region " Vom Windows Form Designer generierter Code "
Public Sub New()
MyBase.New()
' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
InitializeComponent()
' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen
End Sub
' Die Form überschreibt den Löschvorgang der Basisklasse, um Komponenten zu bereinigen.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
' Für Windows Form-Designer erforderlich
Private components As System.ComponentModel.IContainer
'HINWEIS: Die folgende Prozedur ist für den Windows Form-Designer erforderlich
'Sie kann mit dem Windows Form-Designer modifiziert werden.
'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
Friend WithEvents ToolBar1 As System.Windows.Forms.ToolBar
Friend WithEvents ImageList1 As System.Windows.Forms.ImageList
Friend WithEvents CrystalReportViewer1 As CrystalDecisions.Windows.Forms.CrystalReportViewer
Friend WithEvents mnuClose As System.Windows.Forms.ToolBarButton
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmReportViewer))
Me.ToolBar1 = New System.Windows.Forms.ToolBar
Me.mnuClose = New System.Windows.Forms.ToolBarButton
Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)
Me.CrystalReportViewer1 = New CrystalDecisions.Windows.Forms.CrystalReportViewer
Me.SuspendLayout()
'
'ToolBar1
'
Me.ToolBar1.Buttons.AddRange(New System.Windows.Forms.ToolBarButton() {Me.mnuClose})
Me.ToolBar1.DropDownArrows = True
Me.ToolBar1.ImageList = Me.ImageList1
Me.ToolBar1.Location = New System.Drawing.Point(0, 0)
Me.ToolBar1.Name = "ToolBar1"
Me.ToolBar1.ShowToolTips = True
Me.ToolBar1.Size = New System.Drawing.Size(816, 28)
Me.ToolBar1.TabIndex = 0
'
'mnuClose
'
Me.mnuClose.ImageIndex = 4
Me.mnuClose.Name = "mnuClose"
Me.mnuClose.ToolTipText = "Schliessen"
'
'ImageList1
'
Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent
Me.ImageList1.Images.SetKeyName(0, "")
Me.ImageList1.Images.SetKeyName(1, "")
Me.ImageList1.Images.SetKeyName(2, "")
Me.ImageList1.Images.SetKeyName(3, "")
Me.ImageList1.Images.SetKeyName(4, "")
'
'CrystalReportViewer1
'
Me.CrystalReportViewer1.ActiveViewIndex = -1
Me.CrystalReportViewer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.CrystalReportViewer1.Dock = System.Windows.Forms.DockStyle.Fill
Me.CrystalReportViewer1.Location = New System.Drawing.Point(0, 28)
Me.CrystalReportViewer1.Name = "CrystalReportViewer1"
Me.CrystalReportViewer1.Size = New System.Drawing.Size(816, 497)
Me.CrystalReportViewer1.TabIndex = 7
'
'frmReportViewer
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(816, 525)
Me.Controls.Add(Me.CrystalReportViewer1)
Me.Controls.Add(Me.ToolBar1)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmReportViewer"
Me.Text = "Report-Viewer"
Me.WindowState = System.Windows.Forms.FormWindowState.Maximized
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
#End Region
#Region " Declaration "
Dim i As Integer
Dim s As String
Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table
Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo
Dim m_sWindowTitel As String
Dim rpt As New ReportDocument()
Dim crParameterValues As ParameterValues
Dim crParameterDiscreteValue As ParameterDiscreteValue
Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldDefinition As ParameterFieldDefinition
#End Region
#Region " Property "
Property WindowTitel() As String
Get
Return m_sWindowTitel
End Get
Set(ByVal Value As String)
m_sWindowTitel = Value
End Set
End Property
#End Region
Private Sub frmReportViewer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
#Region "EDOKA"
Public Function show_reportWithParameter(ByVal sreportpath As String, ByVal ReportName As String, ByVal param As String) As Boolean
Dim rpt As New ReportDocument
rpt.Load(sreportpath + ReportName)
Dim crParameterDiscreteValue As ParameterDiscreteValue
Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldLocation As ParameterFieldDefinition
Dim crParameterValues As ParameterValues
crParameterFieldDefinitions = rpt.DataDefinition.ParameterFields
Dim strParValPair() As String
Dim strVal() As String
Dim index As Integer
Dim paraValue As New CrystalDecisions.Shared.ParameterDiscreteValue()
Dim currValue As CrystalDecisions.Shared.ParameterValues
If Trim(param) <> "" Then
strParValPair = param.Split(CType("&", Char))
If strParValPair.Length = 0 Then
param = param + "&"
strParValPair = param.Split(CType("&", Char))
End If
End If
For index = 0 To UBound(strParValPair)
strVal = strParValPair(index).Split(CType("=", Char))
If strVal.Length > 0 Then
crParameterFieldLocation = crParameterFieldDefinitions.Item(strVal(0))
crParameterValues = crParameterFieldLocation.CurrentValues
crParameterDiscreteValue = New CrystalDecisions.Shared.ParameterDiscreteValue
crParameterDiscreteValue.Value = strVal(1)
crParameterValues.Add(crParameterDiscreteValue)
crParameterFieldLocation.ApplyCurrentValues(crParameterValues)
End If
Next
Dim ConInfo As New CrystalDecisions.Shared.TableLogOnInfo()
ConInfo.ConnectionInfo.UserID = Globals.LoginInfo.UserId
ConInfo.ConnectionInfo.Password = Globals.LoginInfo.Password
ConInfo.ConnectionInfo.ServerName = Globals.LoginInfo.Server
ConInfo.ConnectionInfo.DatabaseName = Globals.LoginInfo.Db
Dim myDataSourceConnections As DataSourceConnections = rpt.DataSourceConnections
Dim myConnectInfo As IConnectionInfo = myDataSourceConnections(0)
myConnectInfo.SetConnection(Globals.LoginInfo.Server, Globals.LoginInfo.Db, Globals.LoginInfo.UserId, Globals.LoginInfo.Password)
Dim mySubReportObject As CrystalDecisions.CrystalReports.Engine.SubreportObject
Dim mySubRepDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
For index = 0 To rpt.ReportDefinition.Sections.Count - 1
For intCounter = 0 To rpt.ReportDefinition.Sections(index).ReportObjects.Count - 1
With rpt.ReportDefinition.Sections(index)
If .ReportObjects(intCounter).Kind = CrystalDecisions.Shared.ReportObjectKind.SubreportObject Then
mySubReportObject = CType(.ReportObjects(intCounter), CrystalDecisions.CrystalReports.Engine.SubreportObject)
mySubRepDoc = mySubReportObject.OpenSubreport(mySubReportObject.SubreportName)
Dim mySubDataSourceConnections As DataSourceConnections = mySubRepDoc.DataSourceConnections
Dim mySubConnectInfo As IConnectionInfo = myDataSourceConnections(0)
mySubConnectInfo.SetConnection(Globals.LoginInfo.Server, Globals.LoginInfo.Db, Globals.LoginInfo.UserId, Globals.LoginInfo.Password)
End If
End With
Next
Next
CrystalReportViewer1.ReportSource = rpt
End Function
#End Region
#Region " Menue Funktionen "
Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
Me.Close()
End Sub
#End Region
End Class