using (SqlConnection conn = new SqlConnection(connection))
{
SqlDataAdapter da = new SqlDataAdapter();
DataTable ds = new DataTable();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
conn.Open();
cmd.CommandText = StoredProcedure;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@iDomainID", 1));
foreach (var item in reportParams)
{
cmd.Parameters.Add(new SqlParameter("@" + item.ParameterName, "'" + item.FieldValue + "'"));
}
da.SelectCommand = cmd;
da.Fill(ds);
conn.Close();
string strFile;
strFile = "Reports/" + ReportName;
ReportViewer1.Visible = true;
System.IO.StreamReader sr = new System.IO.StreamReader(HttpContext.Current.Server.MapPath("/") + strFile);
string strReportdef = sr.ReadToEnd();
sr.Close();
ReportViewer1.LocalReport.EnableExternalImages = true;
ReportViewer1.LocalReport.ReportPath = HttpContext.Current.Server.MapPath("/") + strFile;
int iTables = 0;
System.Collections.Generic.IList<string> ilReportDSs = ReportViewer1.LocalReport.GetDataSourceNames();
for (iTables = 0; iTables < ds.Columns.Count; iTables++)
{
ReportDataSource rdSource = new ReportDataSource(ilReportDSs[iTables], ds.Columns[iTables]);
ReportViewer1.LocalReport.DataSources.Add(rdSource);
}
ReportViewer1.DataBind();
}
Это приводит к ошибке вКак передать таблицу данных в SSRS Report Viewer?
for (iTables = 0; iTables < ds.Columns.Count; iTables++)
{
ReportDataSource rdSource = new ReportDataSource(ilReportDSs[iTables], ds.Columns[iTables]);
ReportViewer1.LocalReport.DataSources.Add(rdSource);
}
Для ReportDataSource rdSource = new ReportDataSource(ilReportDSs[iTables], ds.Columns[iTables]);
Как я должен передать данные таблицы, чтобы сообщить зрителю? Пытался изменить его на набор данных, но это вызывает ошибку для исключения хранимой процедуры с использованием набора данных, как я буду проходить с использованием таблицы данных ..?