Adding a Report to the webpage

First of all there has to be crystal report behind the scene with a Store procedure working on its back. Now to dynamically provide Paramater values to the cystal report here is the code to be followed

documentReport = New ReportDocument()
reportPath = Server.MapPath("MonthlySalesReportCustomerwise.rpt")
documentReport.Load(reportPath)
Dim dtDocument As Data.DataTable
dtDocument = Report.GetSales_CustomerWise(Common.GetDBDate(tbxFrom.Text), Common.GetDBDate(tbxTo.Text), ddlCustomerType.SelectedValue)
documentReport.Database.Tables(0).SetDataSource(dtDocument)

'Get the collection of parameters from the report
Dim crParameterFieldDefinitions1 As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions
crParameterFieldDefinitions1 = documentReport.DataDefinition.ParameterFields
Dim crParameterFieldDefinitions2 As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions
crParameterFieldDefinitions2 = documentReport.DataDefinition.ParameterFields
Dim crParameterFieldDefinitions3 As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions
crParameterFieldDefinitions3 = documentReport.DataDefinition.ParameterFields


'Access the specified parameter from the collection

Dim crParameter1 As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition
crParameter1 = crParameterFieldDefinitions1.Item("@FromDate")
Dim crParameter2 As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition
crParameter2 = crParameterFieldDefinitions2.Item("@ToDate")
Dim crParameter3 As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition
crParameter3 = crParameterFieldDefinitions3.Item("@CustomerTypeID")


Dim crParameter1Values As CrystalDecisions.Shared.ParameterValues
crParameter1Values = crParameter1.CurrentValues
Dim crParameter2Values As CrystalDecisions.Shared.ParameterValues
crParameter2Values = crParameter2.CurrentValues
Dim crParameter3Values As CrystalDecisions.Shared.ParameterValues
crParameter3Values = crParameter3.CurrentValues

''Set the current values for the parameter field
Dim crDiscrete1Value As ParameterDiscreteValue = New ParameterDiscreteValue
crDiscrete1Value.Value = Common.GetDBDate(tbxTo.Text)
Dim crDiscrete2Value As ParameterDiscreteValue = New ParameterDiscreteValue
crDiscrete2Value.Value = Common.GetDBDate(tbxFrom.Text)
Dim crDiscrete3Value As ParameterDiscreteValue = New ParameterDiscreteValue
crDiscrete3Value.Value = ddlCustomerType.SelectedValue

''Add the first current value for the parameter field
crParameter1Values.Add(crDiscrete1Value)
crParameter2Values.Add(crDiscrete2Value)
crParameter3Values.Add(crDiscrete3Value)

crParameter1.ApplyCurrentValues(crParameter1Values)
crParameter2.ApplyCurrentValues(crParameter2Values)
crParameter3.ApplyCurrentValues(crParameter3Values)
DocumentViewer.ReportSource = documentReport

Comments

Popular posts from this blog

SPFx: Develop using SharePoint Framework without Installing all the dependecies.

SharePoint Online: Elevated Permissions....with love

Powershell: Filling up an Existing Excel Sheet with data from SQL Server