[英]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 個結果成功。
有什么不對?
我完成了
創建擴展方法
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.