March 26, 2011

Common crystal report code for asp.net program


 Imports System.Data.SqlClient  
 Imports CrystalDecisions.CrystalReports.Engine  
 Imports CrystalDecisions.Shared  
 Imports System.data  
 Public Class CrysReport  
 ‘Variables Declaration  
 Private obj As New Class1  
 Dim crParameterDiscreteValue As ParameterDiscreteValue  
 Dim crconnectionInfo As New ConnectionInfo  
 Dim crParameterFieldDefinitions As ParameterFieldDefinitions  
 Dim crParameterFieldLocation As ParameterFieldDefinition  
 Dim thisFormulaField As CrystalDecisions.CrystalReports.Engine.FormulaFieldDefinition  
 Dim crParameterValues As ParameterValues  
 Dim crtableLogoninfos As New TableLogOnInfos()  
 Dim crtableLogoninfo As New TableLogOnInfo()  
 Dim CrTables As Tables  
 Dim CrTable As Table  
 ‘This function is to shows value through formula text  
 Public Sub report_date_formula(ByVal crReportDocument As CrystalDecisions.CrystalReports.Engine.ReportDocument, ByVal from_date As String, ByVal to_date As String)  
 Try  
 For Each thisFormulaField In crReportDocument.DataDefinition.FormulaFields  
 If thisFormulaField.FormulaName = "{@From_Date}" Then  
 thisFormulaField.Text = from_date '"#" & dt1.Value.Date.ToString("dd/MMM/yyyy") & "#"  
 ElseIf thisFormulaField.FormulaName = "{@To_Date}" Then  
 thisFormulaField.Text = to_date '"#" & dt2.Value.Date.ToString("dd/MMM/yyyy") & "#"  
 End If  
 Next  
 Catch  
 End Try  
 End Sub  
 ‘This function is to call report parameter  
 Public Sub report_parameter(ByVal crReportDocument As CrystalDecisions.CrystalReports.Engine.ReportDocument, ByVal name As String, ByVal value As String)  
 Try  
 crParameterFieldDefinitions = crReportDocument.DataDefinition.ParameterFields  
 crParameterFieldLocation = crParameterFieldDefinitions.Item(name)  
 crParameterValues = crParameterFieldLocation.CurrentValues  
 crParameterDiscreteValue = New CrystalDecisions.Shared.ParameterDiscreteValue()  
 crParameterDiscreteValue.Value = value  
 crParameterValues.Add(crParameterDiscreteValue)  
 crParameterFieldLocation.ApplyCurrentValues(crParameterValues)  
 Catch  
 End Try  
 End Sub  
 ‘ This function to make connection to database for report  
 Public Sub report_connection(ByVal crReportDocument As CrystalDecisions.CrystalReports.Engine.ReportDocument)  
 Try  
 With crConnectionInfo  
 .ServerName = "xyz"  
 .DatabaseName = "abc"  
 .UserID = "sa"  
 .Password = ""  
 End With  
 CrTables = crReportDocument.Database.Tables  
 For Each CrTable In CrTables  
 crtableLogoninfo = CrTable.LogOnInfo  
 crtableLogoninfo.ConnectionInfo = crConnectionInfo  
 CrTable.ApplyLogOnInfo(crtableLogoninfo)  
 Next  
 Catch  
 End Try  
 End Sub  
 End Class