2016-06-30 5 views
0

Ich habe einen Hauptbericht, der zwei Unterberichte aus ASP.NET MVC 5.0 (VS 2015) enthält, aber manchmal fehlt der Hauptbericht Daten aus einem der Unterberichte (nicht beides).Warum fehlende Daten in ReportViewer mit Unterberichten beim Export in pdf

Wenn ich die Seite neu lade, werden alle Daten angezeigt.

Was ist der Fehler?

LocalReport reportViewerLocal = new LocalReport(); 
    ... 
    reportViewerLocal.SubreportProcessing += new SubreportProcessingEventHandler(SubreportProcessingComprobanteRol); 
    ... 
    Response.Clear(); 
    Response.ContentType = "application/pdf"; 
    Response.AddHeader("content-disposition", "inline"); 
    Response.AddHeader("Content-Length", renderedBytes.Length.ToString()); 
    Response.BinaryWrite(renderedBytes); 


    void SubreportProcessingComprobanteRol(object sender, SubreportProcessingEventArgs e) 
    { 

     // Defino Parametro 
     string param1 = e.Parameters["ParamSubReporteIdPersona"].Values[0]; 
     string param2 = e.Parameters["ParamSubReporteTipoMovimiento"].Values[0]; 

     // Designo DataSet según parametro 
     string dataSourceName = e.DataSourceNames[0]; 
     List<MovimientoRolModel> lista = ((IEnumerable) dataSourceDetalleComprobanteRol).Cast<MovimientoRolModel>().ToList(); 
     List<MovimientoRolModel> movimiento = lista.Where(p => p.IdPersona == Convert.ToInt32(param1) && p.TipoMovimiento == Convert.ToInt32(param2)).ToList(); 
     e.DataSources.Clear(); 
     ReportDataSource datasourceDetalle = new ReportDataSource(dataSourceName, movimiento); 
     e.DataSources.Add(datasourceDetalle); 
    } 

enter image description here

Antwort

0

Heute habe ich diese Zeilen:

Response.Clear(); 
... 
Response.AddHeader("Content-Length", renderedBytes.Length.ToString()); 

Ich denke, das ist die Lösung, weil heute die Seite neu geladen.