Link to home
Start Free TrialLog in
Avatar of newjeep19
newjeep19Flag for United States of America

asked on

The control parameters are not inputing the value when displaying in a report viewer

asp.net code:
<asp:RadioButtonList ID="radReportTypeT2" runat="server" AutoPostBack="true" RepeatDirection="Horizontal" RepeatLayout="Table" OnSelectedIndexChanged="radReportTypeT2_SelectedIndexChanged">
                            <asp:ListItem Text="Clear Market" Value="0" />
                            <asp:ListItem Text="Market 20" Value="20" />
                            <asp:ListItem Text="Market 21" Value="21" />
                            <asp:ListItem Text="Market 22" Value="22" />
                            <asp:ListItem Text="Market 23" Value="23" />
                            <asp:ListItem Text="Market 24" Value="24" />
                            <asp:ListItem Text="Market 25" Value="25" />
                            <asp:ListItem Text="Market 26" Value="26" />
                            <asp:ListItem Text="Market 27" Value="27" />
                        </asp:RadioButtonList>

<asp:RadioButtonList ID="radReportTypeAppT2" runat="server" AutoPostBack="true" RepeatDirection="Horizontal" RepeatLayout="Table" OnSelectedIndexChanged="radReportTypeAppT2_SelectedIndexChanged">
                        <asp:ListItem Text="A T" Value="AT" />
                        <asp:ListItem Text="AFS" Value="AFS" />
                        <asp:ListItem Text="LE" Value="LE" />
                        <asp:ListItem Text="LSP " Value="LSP" />
                        <asp:ListItem Text="WC  Value="WC" />
                        <asp:ListItem Text="MP" Value="MP" />
                    </asp:RadioButtonList>
 <div style="float: left;">
                        <asp:Label ID="lblTerr2StartDate" runat="server" Text="Start Date: " />
                        <asp:TextBox ID="txtTerr2StartDate" runat="server" ReadOnly="false" OnTextChanged="txtTerr2StartDate_TextChanged" AutoPostBack="true" OnSelectedIndexChanged="txtTerr2StartDate_SelectedIndexChanged" Height="33px" Width="172px" />
                        <a href="JavaScript:NewCal('txtTerr2StartDate','ddmmmyyyy',true,12)">
                            <img id="img1" src="images/cal.jpg" width="16" height="16" border="0" alt="Pick a date" />
                        </a>&nbsp;&nbsp; &nbsp;&nbsp; 
                        <asp:Label ID="lblTerr2EndDate" runat="server" Text="End Date: " />
                        <asp:TextBox ID="txtTerr2EndDate" runat="server" ReadOnly="false" OnTextChanged="txtTerr2EndDate_TextChanged" AutoPostBack="true" OnSelectedIndexChanged="txtTerr2EndDate_SelectedIndexChanged" Height="41px" Width="192px" />
                        <a href="JavaScript:NewCal('txtTerr2EndDate','ddmmmyyyy',true,12)">
                            <img id="img2" src="images/cal.jpg" width="16" height="16" border="0" alt="Pick a date" />
                        </a>
                    </div>
 <asp:ImageButton runat="server" ID="btnImgTerr2Submit" ImageUrl="~/images/SUBMIT.png" OnClick="btnImgTerr2Submit_Click" />

Open in new window


C# code:
 protected void btnImgTerr2Submit_Click(object sender, ImageClickEventArgs e)
        {
            //report parameter market
            var radRepTypeT2 = string.Empty;
            if(radReportTypeT2.SelectedValue == "20")
            {
                radRepTypeT2 = "20";
            }
            else if (radReportTypeT2.SelectedValue == "21")
            {
                radRepTypeT2 = "21";
            }
            else if(radReportTypeT2.SelectedValue == "22")
            {
                radRepTypeT2 = "22";
            }
            else if(radReportTypeT2.SelectedValue == "23")
            {
                radRepTypeT2 = "23";
            }
            else if(radReportTypeT2.SelectedValue == "24")
            {
                radRepTypeT2 = "24";
            }
            else if(radReportTypeT2.SelectedValue == "25")
            {
                radRepTypeT2 = "25";
            }
             else if(radReportTypeT2.SelectedValue == "26")
            {
                 radRepTypeT2 = "26";
            }
            else if(radReportTypeT2.SelectedValue == "27")
            {
                radRepTypeT2 = "27";
            }

            //report parameter application
            var radRepAppT2 = string.Empty;
            if(radReportTypeAppT2.SelectedValue == "AT")
            {
                radRepAppT2 = "Agnecy Toolkit";
            }
            else if(radReportTypeAppT2.SelectedValue == "AFS")
            {
                radRepAppT2 = "AF/ALR Page";
            }
            else if(radReportTypeAppT2.SelectedValue == "LE")
            {
                radRepAppT2 = "Leads eXpress";
            }
            else if(radReportTypeAppT2.SelectedValue == "LSP")
            {
                radRepAppT2 = "LSP Database";
            }
            else if(radReportTypeAppT2.SelectedValue == "WC")
            {
                radRepAppT2 = "WC Air Program Home Page";
            }
            else if(radReportTypeAppT2.SelectedValue == "MP")
            {
                radRepAppT2 = "MAPS/Promo";
            }

            //from date
            var FromDate = string.Empty;
            if (txtTerr2StartDate.Text != "")
            {
                FromDate = txtTerr2StartDate.Text;
            }

            //to date
            var ToDate = string.Empty;
            if (txtTerr2EndDate.Text != "")
            {
                ToDate = txtTerr2EndDate.Text;
            }

            //report parm
            ReportParameter[] para = new ReportParameter[4];
            para[0] = new ReportParameter("Market", radRepTypeT2);
            para[1] = new ReportParameter("application", radRepAppT2);
            para[2] = new ReportParameter("dateFrom", FromDate);
            para[3] = new ReportParameter("dateTo", ToDate);

            //show param promts
            ReportViewer21.ShowParameterPrompts = true;

            //show report
            ReportViewer21.Visible = true;

            ReportViewer21.ShowReportBody = true;
            ReportViewer21.ShowExportControls = true;

        }

Open in new window


SQL:
ALTER PROCEDURE [dbo].[sp_AT_Report]
        @Market VARCHAR (50),
	@dateFrom NVARCHAR (50),
	@dateTo NVARCHAR (50),
	@application VARCHAR (50)
AS
BEGIN

	SET NOCOUNT ON;

    SELECT	A_nbr, 
		nid, 
		COUNT(resource) AS Count,
		resource, 
		CONVERT(nvarchar(10), date, 101) AS date, 
		URL,
		ED.Market, 
		ED.Territory
    FROM  wcr_a_t.dbo.C_Report AS C
		LEFT OUTER JOIN w_st.dbo.A AS A
			ON C.nid=A.R_ID
		LEFT OUTER JOIN wcr_staff.dbo.Staff AS S 
			ON S.S_ID = A.S_ID
		JOIN w_a.dbo.tblA AS TA
			ON A.A_nbr = TA._A_NBR
		LEFT OUTER JOIN w_roles.dbo.wE E
			ON E.EID=C.ntid
		JOIN w_e_n.dbo.AA AS ED
			ON A.A_NBR=ED.ANumb
   WHERE 
  ED.Market = @Market AND [date] Between @dateFrom and @dateTo AND [resource] = @application
   GROUP BY resource, Agent_nbr, ntid, date, URL, ED.Market, ED.Territory 
   ORDER BY Agent_nbr, ntid

Open in new window

Avatar of AndyAinscow
AndyAinscow
Flag of Switzerland image

//report parm
            ReportParameter[] para = new ReportParameter[4];
            para[0] = new ReportParameter("Market", radRepTypeT2);
            para[1] = new ReportParameter("application", radRepAppT2);
            para[2] = new ReportParameter("dateFrom", FromDate);
            para[3] = new ReportParameter("dateTo", ToDate);

//  Where do you assign the values in para to anything ?  - I assume these are what you wanted in the report

            //show param promts
            ReportViewer21.ShowParameterPrompts = true;

            //show report
            ReportViewer21.Visible = true;

            ReportViewer21.ShowReportBody = true;
            ReportViewer21.ShowExportControls = true;

        }
You probably want a line like
ReportViewer21.LocalReport.SetParameters(para);
or
ReportViewer21.ServerReport.SetParameters(para);
Avatar of newjeep19

ASKER

When I add the code :
ReportViewer21.LocalReport(para);
I get the error message:
Error      8      Non-invocable member 'Microsoft.Reporting.WebForms.ReportViewer.LocalReport' cannot be used like a method.
Try doing what I suggested.
I did? I added the code that you suggested see below:
//report parm
            ReportParameter[] para = new ReportParameter[4];
            para[0] = new ReportParameter("Market", radRepTypeT2);
            para[1] = new ReportParameter("application", radRepAppT2);
            para[2] = new ReportParameter("dateFrom", FromDate);
            para[3] = new ReportParameter("dateTo", ToDate);

            //show param promts
            ReportViewer21.ShowParameterPrompts = true;
            ReportViewer21.LocalReport(para);

            //show report
            ReportViewer21.Visible = true;

            //var _mconn = uConnectionString;
            //System.Data.DataSet thisDataSet = new System.Data.DataSet();
            //SearchValue[0] = new SqlParameter("@

            ReportViewer21.ShowReportBody = true;
            ReportViewer21.ShowExportControls = true;
No you haven't - please read my suggestion and try that.
I do not see any suggestion besides the one that I attempted to do which caused the error message. Where is the suggestion at? Is it in this feed?
Yes.  You asked the question.  I made two comments then you posted again with your line of code with the error message,  a line of code that differs from the code I suggested you try.
Below is the only two treads that I see that you posted:

First post:
//report parm
             ReportParameter[] para = new ReportParameter[4];
             para[0] = new ReportParameter("Market", radRepTypeT2);
             para[1] = new ReportParameter("application", radRepAppT2);
             para[2] = new ReportParameter("dateFrom", FromDate);
             para[3] = new ReportParameter("dateTo", ToDate);

//  Where do you assign the values in para to anything ?  - I assume these are what you wanted in the report

             //show param promts
             ReportViewer21.ShowParameterPrompts = true;

             //show report
             ReportViewer21.Visible = true;

             ReportViewer21.ShowReportBody = true;
             ReportViewer21.ShowExportControls = true;

         }

Second post:
You probably want a line like
 ReportViewer21.LocalReport.SetParameters(para);
 or
 ReportViewer21.ServerReport.SetParameters(para);

I added the coded that you suggested in the two posts and I got the error message.
Copy and paste my suggestion next to your line of code - they are very different.
I am sorry I really do not know what you are asking me to do. I copied the two entries with C# code that you placed. I do not see any other suggestions. Please reenter in your suggestion.
When I added your suggestion I now get this error message:


An attempt was made to set a report parameter 'Market' that is not defined in this report.
ASKER CERTIFIED SOLUTION
Avatar of AndyAinscow
AndyAinscow
Flag of Switzerland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial