Working with Parameters with Crystal Reports and ASP.NET 2.0 - Passing the value to the Crystal Report Range Parameter dynamically: source code
(Page 4 of 6 )
In the previous section, we added a parameter named "p_OrderDateRange" to the report. Now, it is time to access the report (say, get a list of orders) based on the user-specified range of dates.
Let us modify the web page so that it looks like the following (Fig 10):

The source for the above page design is as follows:
<form id="form1" runat="server">
<div>
<asp:Label ID="lblStartDate" runat="server" Text="Start Date:"></asp:Label>
<asp:TextBox ID="txtStartDate" runat="server"></asp:TextBox><asp:Label
ID="lblEndDate" runat="server" Text="End Date:"></asp:Label><asp:TextBox ID="txtEndDate"
runat="server"></asp:TextBox><asp:Button ID="btnShow" runat="server" Text="Show" /><br />
<asp:Button ID="btnFirst" runat="server" Text="First Page" />
<asp:Button ID="btnPrevious" runat="server" Text="Previous Page" />
<asp:Button ID="btnNext" runat="server" Text="Next Page" />
<asp:Button ID="btnLast" runat="server" Text="Last Page" /><br />
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" DisplayGroupTree="False" DisplayToolbar="False" EnableDatabaseLogonPrompt="False" EnableParameterPrompt="False" Height="1055px" ReuseParameterValuesOnRefresh="True" Width="789px" />
</div>
</form>
Following is the code for the "Show" button:
Protected Sub btnShow_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnShow.Click
Dim ConnInfo As New ConnectionInfo
With ConnInfo
.ServerName = ".sqlexpress"
.DatabaseName = "Northwind"
.UserID = "sa"
.Password = "eXpress2005"
End With
Me.CrystalReportViewer1.ParameterFieldInfo.Clear()
If Me.txtStartDate.Text.Trim.Length > 0 And Me.txtStartDate.Text.Trim.Length > 0 Then
Me.CrystalReportViewer1.ReportSource = Server.MapPath("SampleParam2.rpt")
Dim ParamFields As ParameterFields = Me.CrystalReportViewer1.ParameterFieldInfo
Dim p_OrderDateRange As New ParameterField
p_OrderDateRange.Name = "p_OrderDateRange"
Dim p_OrderDateRange_Value As New ParameterRangeValue
p_OrderDateRange_Value.StartValue = Me.txtStartDate.Text
p_OrderDateRange_Value.EndValue = Me.txtEndDate.Text
p_OrderDateRange.CurrentValues.Add(p_OrderDateRange_Value)
ParamFields.Add(p_OrderDateRange)
Else
Me.CrystalReportViewer1.ReportSource = Server.MapPath("SampleRpt01.rpt")
End If
For Each cnInfo As TableLogOnInfo In Me.CrystalReportViewer1.LogOnInfo
cnInfo.ConnectionInfo = ConnInfo
Next
Me.CrystalReportViewer1.RefreshReport()
End Sub
Next: Adding Multiple Value (Discrete and Range) parameters to Crystal Report >>
More ASP.NET Articles
More By Jagadish Chaterjee