Working with Parameters with Crystal Reports and ASP.NET 2.0 - Passing the value to Crystal Report Parameter dynamically at run-time: explanation
(Page 3 of 6 )
First of all, you must observe that the CrystalDecisions.Shared namespace is added to work with Crystal Reports-related classes and objects. In the previous section's code, the database connection information is stored in ConnInfo and is defined as follows:
Dim ConnInfo As New ConnectionInfo
With ConnInfo
.ServerName = ".sqlexpress"
.DatabaseName = "Northwind"
.UserID = "sa"
.Password = "eXpress2005"
End With
The above connection information is assigned to the CrystalReportViewer control using the following code:
For Each cnInfo As TableLogOnInfo In Me.CrystalReportViewer1.LogOnInfo
cnInfo.ConnectionInfo = ConnInfo
Next
Finally, the ReportSource and Parameter are added as following:
Me.CrystalReportViewer1.ParameterFieldInfo.Clear()
Me.CrystalReportViewer1.ReportSource = Server.MapPath("SampleParam1.rpt")
Dim ParamFields As ParameterFields = Me.CrystalReportViewer1.ParameterFieldInfo
Dim p_EmpID As New ParameterField
p_EmpID.Name = "p_EmployeeID"
Dim p_EmpID_Value As New ParameterDiscreteValue
p_EmpID_Value.Value = Me.txtEmployeeID.Text
p_EmpID.CurrentValues.Add(p_EmpID_Value)
ParamFields.Add(p_EmpID)
We can add as many numbers of parameters as we want to the "ParameterFields" collection to provide values at run-time. The following is the code which deals with paging:
Protected Sub btnFirst_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnFirst.Click
Me.CrystalReportViewer1.ShowFirstPage()
End Sub
Protected Sub btnPrevious_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrevious.Click
Me.CrystalReportViewer1.ShowPreviousPage()
End Sub
Protected Sub btnNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNext.Click
Me.CrystalReportViewer1.ShowNextPage()
End Sub
Protected Sub btnLast_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLast.Click
Me.CrystalReportViewer1.ShowLastPage()
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
btnShow_Click(Nothing, Nothing)
End If
End Sub
Adding a Range Value parameter to Crystal Report
Add a new report named "SampleParam2.rpt" with the same fields, in a way that is similar to the previous report. Now, we shall add a range value parameter to the Crystal Report.
The following are the steps to take to add a range value parameter:
In the "FieldExplorer," right click on "Parameter Fields" and click "Add."
In the "Create Parameter Field" dialog box, provide "Name" as "p_OrderDateRange," "Prompting Text" as "Enter Start and End Dates," "Value Type" as "DateTime," select "Range Values" in the "Options" and click OK (Fig 07).

In the "Choose Field" dialog box, select "Orders.OrderDate" and click on OK (as shown in figure 08).

Using the "Select Expert" provide information as follows (Fig 09) and click OK.

Next: Passing the value to the Crystal Report Range Parameter dynamically: source code >>
More ASP.NET Articles
More By Jagadish Chaterjee