2016-06-30 15 views
0

ASP.NET MVC 5.0 (VS 2015)에서 호출 된 두 개의 하위 보고서가 포함 된 마스터 보고서가 있지만 일부 보고서 (하위 보고서 중 하나).pdf로 내보낼 때 하위 보고서가 포함 된 ReportViewer의 데이터가 누락 된 이유

페이지를 새로 고침하면 모든 데이터가 표시됩니다.

무엇이 오류입니까?

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

오늘 페이지를 다시로드하기 때문에이 해결책이라고 생각 :

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

답변

0

오늘은이 라인을 추가했다.