public static string ReportType(ReporteTipoEnum tipo) { string tipoCadena = string.Empty; switch (tipo) { case ReporteTipoEnum.Pdf: tipoCadena = "PDF"; break; case ReporteTipoEnum.Excel: tipoCadena = "Excel"; break; case ReporteTipoEnum.Word: tipoCadena = "Word"; break; case ReporteTipoEnum.Imagen: tipoCadena = "Image"; break; case ReporteTipoEnum.PNG: tipoCadena = "Image"; break; } return(tipoCadena); }
public static byte[] ReporteRenderizar(ReporteTipoEnum tipo, string dataSourceName, object dataSource, string reportePathCompleto, string[] columnasMostrar, IDictionary <string, string> parametros, out string mimeType) { var dataSources = new Dictionary <string, object>(); dataSources.Add(dataSourceName, dataSource); return(ReporteRenderizar(tipo, dataSources, reportePathCompleto, columnasMostrar, parametros, null, out mimeType)); }
public byte[] Renderizar(ReporteTipoEnum tipo) { string mimeTypeOut = string.Empty; byte[] archivo = ReporteHelper.ReporteRenderizar( tipo, this.DataSources, this.PathCompleto.ToString(), this.ColumnasMostrar.ToArray(), this.Parametros, this.Imagenes, this.PageWidth, this.PageHeight, this.MarginTop, this.MarginLeft, this.MarginRight, this.MarginBottom, out mimeTypeOut); this.MimeType = mimeTypeOut; return(archivo); }
/// <summary> /// Renderizar un reporte a un tipo especifico /// </summary> /// <param name="dataSourceName"></param> /// <param name="dataSource"></param> /// <param name="reportePathCompleto">Path completo para cargar el reporte desde el servidor</param> /// <param name="mimeType"></param> /// <returns></returns> public static byte[] ReporteRenderizar(ReporteTipoEnum tipo, string dataSourceName, object dataSource, string reportePathCompleto, out string mimeType) { return(ReporteRenderizar(tipo, dataSourceName, dataSource, reportePathCompleto, new string[0], new Dictionary <string, string>(), out mimeType)); }
public static byte[] ReporteRenderizar(ReporteTipoEnum tipo, Dictionary <string, object> dataSources, string reportePathCompleto, string[] columnasMostrar, IDictionary <string, string> parametros, IDictionary <string, string> imagenes, decimal?pageWidth, decimal?pageHeight, decimal?marginTop, decimal?marginLeft, decimal?marginRight, decimal?marginBottom, out string mimeType) { var localReport = new LocalReport(); ReporteLoadReportDefinition(localReport, reportePathCompleto, imagenes); localReport.DataSources.Clear(); foreach (var dataSourcesName in dataSources.Keys) { var reporteDataSource = new ReportDataSource(dataSourcesName, dataSources[dataSourcesName]); localReport.DataSources.Add(reporteDataSource); } //Imagenes externas localReport.EnableExternalImages = true; if (columnasMostrar.Any()) { var sb = new StringBuilder(); foreach (string columna in columnasMostrar) { sb.AppendFormat("#{0}#", columna.Trim()); } parametros.Add("Columnas", sb.ToString()); } foreach (var clave in parametros.Keys) { var param = new ReportParameter(); param.Name = clave; param.Values.Add(parametros[clave]); localReport.SetParameters(param); } string outputFormat = OutputFormat(tipo); string reporteType = ReportType(tipo); string encoding; string fileNameExtension; StringBuilder deviceInfo = new StringBuilder(); deviceInfo.AppendFormat("<DeviceInfo>"); deviceInfo.AppendFormat("<OutputFormat>{0}</OutputFormat>", outputFormat); if (pageWidth.HasValue) { deviceInfo.AppendFormat(" <PageWidth>{0}cm</PageWidth>", pageWidth); } if (pageHeight.HasValue) { deviceInfo.AppendFormat(" <PageHeight>{0}cm</PageHeight>", pageHeight); } if (marginTop.HasValue) { deviceInfo.AppendFormat(" <MarginTop>{0}cm</MarginTop>", marginTop); } if (marginLeft.HasValue) { deviceInfo.AppendFormat(" <MarginLeft>{0}cm</MarginLeft>", marginLeft); } if (marginRight.HasValue) { deviceInfo.AppendFormat(" <MarginRight>{0}cm</MarginRight>", marginRight); } if (marginBottom.HasValue) { deviceInfo.AppendFormat(" <MarginBottom>{0}cm</MarginBottom>", marginBottom); } deviceInfo.AppendLine("<Encoding>UTF-8</Encoding>"); deviceInfo.AppendFormat("</DeviceInfo>"); Warning[] warnings; string[] streams; localReport.Refresh(); //Render the report return(localReport.Render( reporteType, deviceInfo.ToString(), out mimeType, out encoding, out fileNameExtension, out streams, out warnings)); }
/// <summary> /// Renderizar un reporte a un tipo especifico /// </summary> /// <param name="dataSourceName"></param> /// <param name="dataSource"></param> /// <param name="reportePathCompleto">Path completo para cargar el reporte desde el servidor</param> /// <param name="mimeType"></param> /// <returns></returns> public static byte[] ReporteRenderizar(ReporteTipoEnum tipo, Dictionary <string, object> dataSources, string reportePathCompleto, string[] columnasMostrar, IDictionary <string, string> parametros, IDictionary <string, string> imagenes, out string mimeType) { return(ReporteRenderizar(tipo, dataSources, reportePathCompleto, columnasMostrar, parametros, imagenes, null, null, null, null, null, null, out mimeType)); }
public byte[] Renderizar(ReporteTipoEnum tipo) { string mimeTypeOut = string.Empty; byte[] archivo = ReporteHelper.ReporteRenderizar( tipo, this.DataSources, this.PathCompleto.ToString(), this.ColumnasMostrar.ToArray(), this.Parametros, this.Imagenes, this.PageWidth, this.PageHeight, this.MarginTop, this.MarginLeft, this.MarginRight, this.MarginBottom, out mimeTypeOut); this.MimeType = mimeTypeOut; return archivo; }