[英]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.