簡體   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