• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1140
  • Last Modified:

Passing parameters from ASP page to report viewer SSRS report

1) What do I have to do to the SSRS report? (create parameters?)
2) What do I have to do on the ASP page to pass it through?
Do you have a code snippet?

I found some answers in the knowledge base, but had broken links.
Using SSRS 2005, VS 2008.
0
guspan
Asked:
guspan
  • 3
  • 2
1 Solution
 
Chris LuttrellSenior Database ArchitectCommented:
This is the code where we load the parameters and is called by this line
rptViewer.ServerReport.SetParameters(loadKPIParameters(report))
    #region KPI Recognition Methods
    private ReportParameter[] loadKPIParameters(string reportPath)
    {
        //declaring and initializing local variables
        MyAppAccordionFilter filter = (MyAppAccordionFilter)Session["MyAppAccordionFilter"];
        ReportParameter[] rptParams = null;
        ReportServerQuery.ReportService.ReportParameter[] thisRptParams = null;
        string[] rptAuth = MyAppApplication.getMyAuthenticatedUserGroup();
        ArrayList lparamList = new ArrayList();
        thisRptParams = ReportServerQuery.ReportServerQuery.GetParametersForReport(rptAuth, reportPath);
 
        //looping through the parameters and filling in those it recognizes
        for (int i = 0; i < thisRptParams.Length; i++)
        {
            if (thisRptParams[i].PromptUser)
            {
                switch (thisRptParams[i].Name)
                {
                    case "FilterLevel": //Scorecard Parameter
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getFilterLevel(filter)));
                        break;
                    case "FilterId": //Scorecard Parameter
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getFilterId(filter)));
                        break;
                    case "FiscalYear":
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getFiscalYear(filter)));
                        break;
                    case "FiscalPeriod":
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getFiscalPeriod(filter)));
                        break;
                    case "ReportLevel":
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getReportLevel(filter)));
                        break;
                    case "NAFD_ID":
                        lparamList.Add(new ReportParameter(thisRptParams[i].Name, getNAFD_ID(filter)));
                        break;
                }
            }
        }
 
        //creating a list of parameters to hand to the viewer
        rptParams = new ReportParameter[lparamList.Count];
        for (int i = 0; i < lparamList.Count; i++)
            rptParams[i] = (ReportParameter)lparamList[i];
 
        //returning the parameters
        return rptParams;
    }

Open in new window

0
 
guspanAuthor Commented:
From a C# Webpage?
0
 
Chris LuttrellSenior Database ArchitectCommented:
Yes, this is from the code behind in an aspx.cs page.
0
 
guspanAuthor Commented:
Not too familiar with c#, but loadKPIparameters is a arbitrary method I name?
This isn't specific to KPI in SSAS is it?
0
 
Chris LuttrellSenior Database ArchitectCommented:
No, not part of SSAS that is just our method name in the code I copied.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now