logo
small logo
  • Producto
  • Comprar
  • Ayuda
  • Blogs
  • Consola de usarios Ayuda
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Página principal
  • /
  • Blogs
  • /
  • ¿Informe desde el código o en el formato .frx?
  • Cómo personalizar el diseñador de informes

    31 de mayo de 2020

    El diseñador de informes abunda en un posibilidades funcionales que muchos usuarios no utilizan. Aveces

    read more
  • La utilización de fuentes en los informes sin su instalación en la sistema

    27 de abril de 2022

    Bastante altas exigencias se plantean ante los informes electrónicos actuales – deben presentar la

    read more
  • Cómo unir varios informes en uno

    13 de julio de 2020

    Muchos desarrolladores de informes tuvieron situaciones en las que necesitaban agregar una página que ya

    read more
  • Cómo importar un informe desde StimulSoft a FastReport .NET

    6 de julio de 2022

    Con la actualización 2022.2.13 se ha añadido la importación de informes desde StimulSoft. Para utilizarla

    read more
  • Cómo imprimir varias veces una página de informe

    24 de febrero de 2022

    Si necesita imprimir páginas individuales del informe en varias ejemplares, tendrá que recurrir a

    read more

¿Informe desde el código o en el formato .frx?

29 de febrero de 2020

Como ya sabe, los informes en FastReport.Net se puede crear no solo en un diseñador especial, sino también programamente, desde el código de una aplicación del cliente, teniendo, en lugar del habitual archivo con la extenxión "frx", la clase del informe. Puede transformalo en la biblioteca y utilizarlo en varios proyectos. ¿Pero cómo es este modo de crear informe?

Eche un vistazo a este código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 //Create instance of class Report
 Report report = new Report();
 
 //load data
 DataSet ds = new DataSet();
 ds.ReadXml(AppFolder + "\\nwind.xml");
 
 //Register data source
 report.RegisterData(ds);
 
 //Enable data table
 report.GetDataSource("Products").Enabled = true;
 
 //Add report page
 ReportPage page = new ReportPage();
 report.Pages.Add(page);
 page.CreateUniqueName();
 
 //Create GroupHeader band
 GroupHeaderBand group = new GroupHeaderBand();
 page.Bands.Add(group);
 group.CreateUniqueName();
 group.Height = Units.Centimeters * 1;
 group.Condition = "[Products.ProductName].Substring(0,1)";
 group.SortOrder = FastReport.SortOrder.Ascending;
 
 // create group text
 TextObject groupTxt = new TextObject();
 groupTxt.Parent = group;
 groupTxt.CreateUniqueName();
 groupTxt.Bounds = new RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 1);
 groupTxt.Text = "[[Products.ProductName].Substring(0,1)]";
 groupTxt.Font = new Font("Arial", 14, FontStyle.Bold); 
 groupTxt.VertAlign = VertAlign.Center;
 groupTxt.Fill = new LinearGradientFill(Color.LightGoldenrodYellow, Color.Gold, 90, 0.5f, 1);
 
 // create data band
 DataBand data = new DataBand();
 group.Data = data;
 data.CreateUniqueName();
 data.DataSource = report.GetDataSource("Products");
 data.Height = Units.Centimeters * 0.5f;
 
 // create product name text
 TextObject productText = new TextObject();
 productText.Parent = data;
 productText.CreateUniqueName();
 productText.Bounds = new RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 0.5f);
 productText.Text = "[Products.ProductName]";
 
 // create group footer
 group.GroupFooter = new GroupFooterBand();
 group.GroupFooter.CreateUniqueName();
 group.GroupFooter.Height = Units.Centimeters * 1;
 
 if (PDFCheckBox.Checked)
 {
 report.Prepare();
 FastReport.Export.Pdf.PDFExport export = new FastReport.Export.Pdf.PDFExport();
 export.Export(report);
 }
 else
 report.Show();

Es un ejemplo de crear un informe con grupos. Como ve, vamos creando objetos del informe, empezando por el informe mismo y y la página y terminado con objetos de texto. Colocamos los objetos creados dentro de otros y ajustamos las propiedades de su visualización. Esto requiere un buen entendimiento de la estructura del modelo de informe FastReport.Net. Además, para conseguir una colocación deseada de los elementos, tendrá que arracar el informe varias veces para la evaluación visual y corregir propiedades de objetos poniendo la anchura o las coordenadas necesarias. Por lo tanto, utilizar este enfoque es apropriado solo en el caso de informes con listas, matrices, tablas, es decir, allí donde no tiene que comprobar la posición de los elementos uno respecto al otro.

La ventaja principal del informe creado en el código es la posibilidad de editar informes durante la implementación añadiendo el código según las condiciones o eventos. Esto permite crear informes con un lógica compleja que depende directamente de la misma aplicación del cliente.

No es un secreto que los modelos de informes FastReport.Net tienen formato tipo "xml" para la extensión .frx. Esta clase de modelos es fácil de pasar y ver en otros despositivos con la ayuda de un programa visualizador. La movilidad y la independencia de las aplicaciones del cliente son una ventajas indiscutibles del habitual modelo de informe en el formato "frx" o su versión con los datos rellenados en el formato "px". Por lo tanto, teniendo en su aplicación informes creados desde el código, a muchos les gustaría tener la posibilidad de transformalos en el formato habitual tipo .xml "frx". Implementarlo es muy fácil:

 

1 2 
Report report = new Report(); report.Save("C:\\report.frx");

Hay que simplemente utilizar la función Save en el objeto report. Como parámetro pasamos la ruta con el nombre del archivo en el que se guardará el informe. De esta manera, podemos utilizar el informe creado desde el código y, si es necesario, convertirlo en el formato habitual "frx". El archivo obtenido se puede pasar a otros desarrolladores o usuarios.

Tanto los informes a base del código, como los en el formato "frx" tienen sus ventajas. El primer modo es mejor cuando hay que cambiar el informe "de paso", el segundo, cuando se necesita un informe móvil o cuando el modelo de informe tiene muchos elementos con su colocación clara uno respecto al otro. A la hora de seleccionar un modo u otro, tiene que decidir según qué ventaja tiene más prioridad para usted.

about product descargar comprar
avatar
Dmitriy Fedyashov
Technical Writer
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport Report

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Comprar
  • Descargar
  • Documentación
  • Opiniones de usuarios
  • Cómo desinstalar nuestros productos
  • Enviar mensaje
  • FAQ
  • Toturial en vídeo
  • Foro
  • Documentación técnica
  • Nuestras noticias
  • Quiénes somos
  • Socios
  • Extended licensing
  • Contactos

© 1998-2022 by Fast Reports Inc.

  • Privacidad