Ich habe ein Problem mit einem Bericht, aber die seltsame Sache funktioniert nicht nur in der Produktionsumgebung, wenn ich meine Lösung auf lokalen IIS oder in Debugging-Phase mit VS2013 bereitstellen Ich kann den Bericht mit Unterberichte richtig gefüllt sehen.Warum Datenabruf mit Unterbericht fehlgeschlagen Fehler mit Microsoft ReportViewer?
Ich verwende VS2013 und ReportViewer2012.
Also, in der Entwicklung und Test-Umgebung ist alles in Ordnung, aber in der Produktion, wenn ich den Druck aufrufen geschieht diese "Datenabruf für den Unterbericht fehlgeschlagen ... (für alle Unterberichte)". Warum?
So habe ich einen Bericht Container und innerhalb gibt es einige subreports ist, und ein bisschen Code hier:
Quelle
loadDataSources(); //loading all datatables of subreports
ReportViewer ReportViewer1 = new ReportViewer();
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.Visible = false;
ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Reports/ReportContainer.rdlc");
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet0", _datatableContainer));
ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
CreatePDF(ReportViewer1, uniquefilename);
void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
{
if (e.ReportPath.ToLower() == "rpt_sub_1")
{
e.DataSources.Add(new ReportDataSource("DataSet1", _datatable1));
e.DataSources.Add(new ReportDataSource("DataSet2", _datatable2));
e.DataSources.Add(new ReportDataSource("DataSet3", _datatable3));
}
if (e.ReportPath.ToLower() == "rpt_sub_2")
{
e.DataSources.Add(new ReportDataSource("DataSet4", _datatable4));
e.DataSources.Add(new ReportDataSource("DataSet5", _datatable5));
e.DataSources.Add(new ReportDataSource("DataSet6", _datatable6));
e.DataSources.Add(new ReportDataSource("DataSet7", _datatable7));
}
//...
Vielen Dank