Tech
Forums
Jobs
Books
Events
Interviews
Live
More
Learn
Training
Career
Members
Videos
News
Blogs
Contribute
Article
Blog
Video
Ebook
Interview Question
Collapse
Feed
Dashboard
Wallet
Learn
Achievements
Network
Rewards
SharpGPT
Premium
Contribute
Article
Blog
Video
Ebook
Interview Question
Register
Login
Tip: How to pass Crystal Report Parameters Programmatically?
WhatsApp
Mahesh Chand
4y
418.4k
0
6
100
Article
You can pass parameter values to a crystal report programmatically using ReportDocument.DataDefinition.ParameterFields member, which represents a collection of parameters associated with a report.
Before you use ParameterFields, you must import CrystalReport.Engine namespace by adding the following line to your code:
Imports CrystalDecisions.CrystalReports.Engine
In my report, I have two parameters called ParameterName1 and ParameterName2 and I want to pass values as "Parameter1Value" and "Parameter2Value" respectively. If you have more than 2 parameters, just repeat the same steps between "START" and "END" commented lines. Also, read the comments in the code carefully.
' Create a report instance. This
is
the
class
added to your project
' when you added the report to the project
Dim report As MyReport = New MyReport
' Fill data
in
DataSet here. Skip
this
step
if
your report
is
calling
' a stored procedure direct
Dim ds As DataSet = New DataSet
' ds = GetDataFromDatabase()
Dim crParameterDiscreteValue As ParameterDiscreteValue
Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldLocation As ParameterFieldDefinition
Dim crParameterValues As ParameterValues
'
' Get the report parameters collection.
'
crParameterFieldDefinitions = report.DataDefinition.ParameterFields
' Add a parameter value - START
crParameterFieldLocation = crParameterFieldDefinitions.Item(
"@ParameterName1"
)
crParameterValues = crParameterFieldLocation.CurrentValues
crParameterDiscreteValue = New CrystalDecisions.Shared.ParameterDiscreteValue
crParameterDiscreteValue.Value =
"Parameter1Value"
crParameterValues.Add(crParameterDiscreteValue)
crParameterFieldLocation.ApplyCurrentValues(crParameterValues)
' Add a parameter value - END
crParameterFieldLocation = crParameterFieldDefinitions.Item(
"@ParameterName2"
)
crParameterValues = crParameterFieldLocation.CurrentValues
crParameterDiscreteValue = New CrystalDecisions.Shared.ParameterDiscreteValue
crParameterDiscreteValue.Value =
"Parameter2Value"
crParameterValues.Add(crParameterDiscreteValue)
crParameterFieldLocation.ApplyCurrentValues(crParameterValues)
'
' Set report'
s DataSource. Skip
this
step
if
your report
is
calling a
' stored procedure direct
in
the report.
'
report.SetDataSource(ds)
'
' Set CrystalReportViewer.ReportSource
'
CrystalReportViewer1.ReportSource = report
CR
CR 10
Crystal Reports
parameter values
parameters
programmatically
Up Next
Ebook Download
View all
Printing in C# Made Easy
Read by 22.3k people
Download Now!
Learn
View all
Mindcracker
Founded in 2003, Mindcracker is the authority in custom software development and innovation. We put best practices into action. We deliver solutions based on consumer and industry analysis.
Membership not found