繁体   English   中英

使用 C# 将参数传递给 ReportView?

[英]Passing Parameters to ReportView using C#?

一切都好? 我今天有任务,我以前从未做过这样的事情。 嗯...我的项目中有一个 ReportView:

见他代码隐藏:

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;
                    }
                }
            }
        }

注意直到这里,你会看到 GetData 调用的参数:ANO、CONS_TP_INDICE_ID、INDICADOR、UNIDADE、UNIDADE_ADM、ENDERECO、TIPO_MEDIDORES 和 MEDIDORES。

在存储过程中具有相同的参数,但在表 (sql) 中没有 ANO 和 INDICADOR。

当我执行项目时,不显示 GetData 的参数,我不知道如何输入 ANO、INDICADO 这两个参数来得出结果。 报告是空的,但运行存储过程给我带来 1 个结果成功。

有什么不对?

我完成了

  1. 创建扩展方法

    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); 如果 (reportParameters.= null) { ReportViewer.LocalReport.SetParameters(reportParameters;ToArray())。 } ReportViewer.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode;PrintLayout);

     }

然后 Load Report reportViewer1.View(Table, String Dataset, "pathReport",new ReportParameter("Para","value"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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