I am executing an SSRS rpt and need to duplicate this in a web project with sqldatasource id's.
The ssrs rpt parameters work perfectly as far as being populated, but when I try to get the same thing done in the web version, the second parameter list never gets populated.
The Ship parameter depends upon what is selected in the CruiseLine parameter.
The parameters in the web version are as follows:
<
tr
>
<
td
>
Select a CruiseLine:
<
telerik:radcombobox
id
=
"RadComboBox1"
runat
=
"server"
checkboxes
=
"True"
enablecheckallitemscheckbox
=
"False"
skin
=
"Web20"
sort
=
"Ascending"
allowcustomtext
=
"True"
datasourceid
=
"SqlDataSource1"
datatextfield
=
"CruiseLine"
datavaluefield
=
"CruiseLine"
>
</
telerik:radcombobox
>
<
asp:RequiredFieldValidator
runat
=
"server"
ID
=
"RequiredFieldValidator3"
ValidationGroup
=
"A"
ControlToValidate
=
"RadComboBox1"
ErrorMessage
=
"Choose a CruiseLine!"
></
asp:RequiredFieldValidator
>
</
td
>
<
td
>
Select a Ship:
<
telerik:radcombobox
id
=
"RadComboBox2"
runat
=
"server"
checkboxes
=
"True"
enablecheckallitemscheckbox
=
"False"
skin
=
"Web20"
sort
=
"Ascending"
allowcustomtext
=
"True"
datasourceid
=
"SqlDataSource2"
datatextfield
=
"Ship"
datavaluefield
=
"Ship"
>
</
telerik:radcombobox
>
<
asp:RequiredFieldValidator
runat
=
"server"
ID
=
"RequiredFieldValidator2"
ValidationGroup
=
"A"
ControlToValidate
=
"RadComboBox2"
ErrorMessage
=
"Choose a Ship!"
></
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
Here are the corresponidng SQL data sources:
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:PrepaidConnectionString %>"
SelectCommand="SelectCruiseLine" DataSourceMode="DataSet" EnableCaching="true"
SelectCommandType="StoredProcedure"></
asp:SqlDataSource
>
<
asp:SqlDataSource
ID
=
"SqlDataSource2"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:PrepaidConnectionString %>"
SelectCommand="SelectShip" DataSourceMode="DataSet" EnableCaching="true" SelectCommandType="StoredProcedure">
<
SelectParameters
>
<
asp:Parameter
Name
=
"CruiseLine"
Type
=
"String"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
The first sqldatasource executes the following sql (from a stored procedure and populates the list with no problem:
SELECT DISTINCT CruiseLine
FROM dbo.ShipProductPrices
ORDER BY CruiseLine
The second sqldatasource executes the following sql (also from a stored procedure):
ALTER PROCEDURE [dbo].[SelectShip]
@CruiseLine NVARCHAR(MAX)
AS
BEGIN
SET NOCOUNT ON;
SELECT DISTINCT Ship
FROM dbo.ShipProductPrices
WHERE CruiseLine IN (SELECT * FROM dbo.SplitParameterValues(@CruiseLine, ','))
ORDER BY Ship
END
For now, I'm just selecting one cruiseline and I expect that when I pull down the dropdownlist for the second combobox, it should run a query similiar to the following and have the Ship combobox populated:
SELECT DISTINCT Ship
FROM dbo.ShipProductPrices
WHERE CruiseLine IN (SELECT * FROM dbo.SplitParameterValues('CCL', ','))
ORDER BY Ship
Notice the parameter type of the Ship combobox and the type of the SelectParameter of the SelectShip datasource. They are a little bit different. Don't know if this makes a difference or not.
The SelectShip SPROC executes a UDF which again is part of the sproc that I ran above manually with data coming out in sql management studio.
What do I need to do in order to populate the second combobox?