简体   繁体   中英

Passing Parameters to ReportView using C#?

Everything ok? I have a mission today, I never did something like this before. Well... I have a ReportView in my Project:

See him Codebehind:

private Customers GetData()
        {
            string conString = ConfigurationManager.ConnectionStrings["SCBRConnectionString"].ConnectionString;
            SqlCommand cmd = new SqlCommand("STP_REL_SUSTENTABILIDADE");
            using (SqlConnection con = new SqlConnection(conString))
            {
                using (SqlDataAdapter sda = new SqlDataAdapter())
                {
                    cmd.Connection = con;
                    cmd.CommandType = CommandType.StoredProcedure;
                    sda.SelectCommand = cmd;
                    sda.SelectCommand.Parameters.Add(new SqlParameter("@ANO", "2014"));
                    sda.SelectCommand.Parameters.Add(new SqlParameter("@CONS_TP_INDICE_ID", "1"));
                    sda.SelectCommand.Parameters.Add(new SqlParameter("@INDICADOR", "C"));
                    sda.SelectCommand.Parameters.Add(new SqlParameter("@UNIDADE", "1"));
                    sda.SelectCommand.Parameters.Add(new SqlParameter("@UNIDADE_ADM", "1"));
                    sda.SelectCommand.Parameters.Add(new SqlParameter("@ENDERECO", "8"));
                    sda.SelectCommand.Parameters.Add(new SqlParameter("@TIPO_MEDIDORES", "1"));
                    sda.SelectCommand.Parameters.Add(new SqlParameter("@MEDIDORES", "93"));

                    using (Customers dsCustomers = new Customers())
                    {
                        sda.Fill(dsCustomers, "DataTable1");
                        return dsCustomers;
                    }
                }
            }
        }

paying attention until here, you'll see the Parameters called by GetData: ANO, CONS_TP_INDICE_ID, INDICADOR, UNIDADE, UNIDADE_ADM, ENDERECO, TIPO_MEDIDORES AND MEDIDORES.

At Stored Procedure has this same parameters, but at table (sql) don't have ANO and INDICADOR.

When I execute the Project don't show me the parameters from GetData and I don't know how I input the two parameters ANO, INDICADO to bring results. The Report comes empty, but running the Stored Procedure bring me 1 result sucessfull.

What has Wrong?

I have finished

  1. Create Extension Method

    public static void View(this ReportViewer ReportViewer, DataTable TableName, string DatasetName, string pathReport, params ReportParameter[] reportParameters) { ReportDataSource SourceReport = new ReportDataSource(DatasetName, TableName); ReportViewer.LocalReport.ReportEmbeddedResource = pathReport; ReportViewer.LocalReport.DataSources.Add(SourceReport); ReportViewer.LocalReport.DataSources.Add(SourceReport); if (reportParameters.= null) { ReportViewer.LocalReport.SetParameters(reportParameters;ToArray()). } ReportViewer.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode;PrintLayout);

     }

then Load Report reportViewer1.View(Table, String Dattaset, "pathReport",new ReportParameter("Para","value"));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM