none
Reporte hecho en ReportView sale desacoplado cuando lo exporto a un pdf RRS feed

  • Pregunta

  • Hola,me explico , bn estoy gererando reportes con reportview ,el reporte lo visualizo en un ViewUserControl de esta manera,ahi tambien esta el control ReportView:

    <script runat="server">
      private void Page_Load(object sender, System.EventArgs e)
      {
          ReportViewer1.LocalReport.ReportPath = Server.MapPath(Session[Intertek.Business.Entity.Constantes.DataSourcesRutaRDLC] as string);
    
          foreach (ReportDataSource ds in Session[Intertek.Business.Entity.Constantes.DataSources] as List<ReportDataSource>)
          {
              Console.WriteLine(ds);
              ReportViewer1.LocalReport.DataSources.Add(ds);
          }
          
    
          ReportViewer1.LocalReport.Refresh();
      }
      
    </script>

    y esto es en mi controller:

      public ActionResult DemoReport()
            {
                if (!string.IsNullOrEmpty("asa"))
                {
                    //var filter = JsonConvert.DeserializeObject<FilterReport>(filtro);
                    // llena datos 
                    var data = SEHidroBL.Instancia.GenerarReporte(Int32.Parse("70")).ToList();
                    var LAB_NumeroLista = "";
                    data.ForEach(P =>
                        {
                            P.SHI_FechaHoraEntregaIE = string.Format("{0:dd/MM/yyyy}", P.SHI_FechaHoraEntregaIE);
                            P.SHI_FechaEmision = string.Format("{0:dd/MM/yyyy}", P.SHI_FechaHoraEmision);
                            P.SHI_HoraEmision = string.Format("{0:h:mm tt}", P.SHI_FechaHoraEmision);
                            P.CHI_IndicadorDirimencia = Utils.EnumToListGetNombre<TipoIndicadorSINO>(P.CHI_IndicadorDirimencia);
                            P.CEN_Valor = Utils.EnumToListGetNombre<TipoIndicadorSINO>(P.CEN_Valor);
                            P.Tarifario = Utils.EnumToListGetNombre<TipoTarifario>(P.Tarifario);
                            LAB_NumeroLista = Utils.RemoverToList(LAB_NumeroLista + "," + P.LAB_Numero, ',');
                        }
                    );
    
                    data[0].LAB_NumeroLista = LAB_NumeroLista;
    
                    var parametrosReporte = new List<ReportDataSource>() 
                    {
                        new ReportDataSource{Name="ReporteSolicitudEnsayoDS", Value=data}
                    };
    
                    Session[Constantes.DataSources] = parametrosReporte;
                    Session[Constantes.DataSourcesRutaRDLC] = "~/Reports/ReporteSolicitudEnsayo.rdlc";
                }
                return View("DemoReport1");
            }

    Mi vista DemoReport1:

    @{
        ViewBag.Title = "ASPXUserControl";
        Layout = "~/Views/Shared/_LayoutCrm.cshtml";
    }
    <h2>ASPXUserControl</h2>
    @Html.Partial("ViewUserControl1")

    El problema es cuando lo exporta solo a un pdf,ya que cuando lo exporta en un word lo exporta muy bien,es decir,en el pdf en la primera pagina sale solo una parte del reporte del ancho y la continuacion lo muestra en la segunda hoja ,de la altura si lo muestra bn .

    Busco una propiedad o algo para insertarle al control,espero su ayuda.

    Gracias


    ronalddevelopers


    martes, 14 de mayo de 2013 20:34

Todas las respuestas

  • Cuando ocurre ese problema al exportar a PDF, típicamente la causa está en el propio .rdlc. La exportación a PDF es muy delicada, y si te pasas aunque sólo sea un milímetro de la anchura del papel, el PDF queda partido en dos y lo que sobra te lo pasa a la siguiente página.

    Revisa las dimensiones de la página que tiene el Report en el diseñador, y después las dimensiones del Body. Si sumando los márgenes al Body excedes el tamaño del Report, se partirá en dos la página al exportarla a PDF.

    miércoles, 15 de mayo de 2013 6:25