logo
small logo
  • Producto
  • Comprar
  • Ayuda
  • About
  • Consola de usarios Ayuda
    • en
    • de
    • JP
    • ZH
  • Página principal
  • /
  • Blogs
  • /
  • Cómo crear un informe dentro de la aplicación ASP .NET MVC en Visual Basic
  • Informes y documentos PDF en Blazor

    5 de abril de 2021

    Microsoft ha lanzado recientemente una plataforma web llamada Blazor. Este marco permite crear una interfaz

    read more
  • Paquetes FastReport .NET y .NET 5.0

    17 de diciembre de 2020

    UPD: Se aplica a las versiones de FastReport. NET anteriores a 2022.2. Los paquetes de

    read more
  • Cómo utilizar FastCube .NET en la aplicación SP .NET Core

    6 de mayo de 2021

    1. Sobre FastCube El generador de informes FastReport .NET cubre casi todas las necesidades de

    read more
  • Cómo instalar FastReport Business Graphics .NET

    18 de agosto de 2021

    Este artículo le muestra cómo instalar FastReport Business Graphics .NET en su computadora y agregar

    read more
  • How to create a custom toolbar for web FastReport.NET report

    31 de mayo de 2020

    Many users of report generators are interested in setting up the toolbar when reviewing the

    read more

Cómo crear un informe dentro de la aplicación ASP .NET MVC en Visual Basic

3 de marzo de 2022

ASP .NET

Según muchas personas, el lenguaje de programación Visual Basic .NET es un lenguaje de nivel inicial. Pero, ciertamente, no es así. Estamos acostumbrados al hecho de que el Visual Basic .NET se utiliza más a menudo en aplicaciones de Escritorio. Sin embargo, este lenguaje permite mucho más, por ejemplo, crear aplicaciones web en un marco ASP .NET.

ASP .NET admite el modelo de programación MVC (Model-View-Controller), que simplifica mucho el escalado y las pruebas de la aplicación, en comparación con el habitual ASP .NET. Este modelo tiene varias modificaciones, pero la esencia es la misma: delimitar las áreas de responsabilidad entre la lógica de negocios y la representación. Todos los frameworks web modernos se basan en tal estructura. Por lo tanto, utilizando Visual Basic .NET puede crear fácilmente aplicaciones web para frontend en Angular o cualquier otro framework.

Pero volvamos al tema de este artículo: generación de informes. Los programas de generación de informes entraron firmemente en nuestra vida a principios de los 2000, y ahora solo pocas personas se etreverán a crear un informe desde cero. Este debe ser un informe verdaderamente único que ningún generador puede hacer. Suena irónico, pero tales casos realmente ocurren. La lógica particular de la generación de informes realmente puede ser un obstáculo antes de usar generadores de informes. Sin embargo, tal vez simplemente no conoce todas sus posibilidades. Entonces, por ejemplo, pocas personas conocen y usan la capacidad de crear una plantilla de informe a partir del código de la aplicación personalizada en el generador de informes FastReport .NET. Este método de creación de informes le brinda la oportunidad única de administrar la estructura de la plantilla y el proceso de generación directamente en el código del programa. Su lógica "astuta" se puede implementar aquí.

Sí, esta forma de crear un informe requiere un buen conocimiento del producto, es decir, la estructura del informe, los objetos y sus propiedades. Por lo tanto, la calificación del desarrollador debe ser apropiada.

Quizás dejemos este razonamiento y comencemos a crear un programa de demostración que genere un informe a partir del código de la aplicación web ASP .NET MVC en el lenguaje VisualBasic.

En primer lugar, debe crear un proyecto apropiado para esto.

Seleccionemos el tipo de proyecto ASP.NET Web Application

VisualStudio creará cuidadosamente una aplicación de demostración lista para usar con una estructura lista para el uso. Solo queda conectar las bibliotecas FastRport.NET y añadir su código de creación de informes.

Agregaremos bibliotecas a las referencias del proyecto: FastReport.dll, FastReport.Web.dll. Estas bibliotecas se encuentran en la raíz del programa instalado FastReport.NET.

Usemos el controlador listo para programar la lógica principal, HomeController:

'Conectamos las bibliotecas necesarias Imports System.Drawing
Imports FastReport
Imports FastReport.Data
Imports FastReport.Utils
Imports FastReport.Web
 
'Editamos el método Index Function Index() As ActionResult
 
 Dim AppFolder As String
 Dim report As New WebReport() 'create instance of class Report Dim ds As New DataSet() 'create dataset object 
 AppFolder = "C:\Users\FR\source\repos\WebAppVB\WebAppVB\App_Data"
 'load data ds.ReadXml(AppFolder + "\nwind.xml")
 report.RegisterData(ds)
 report.Report.GetDataSource("Products").Enabled = True
 
 'create report page Dim page As New ReportPage()
 report.Report.Pages.Add(page) 'add created page to report page collection page.CreateUniqueName() 'with generated name 
 'create group header band Dim group As New GroupHeaderBand()
 page.Bands.Add(group) 'add the band to band collection group.CreateUniqueName() 'with generated name group.Height = Units.Centimeters * 1
 group.Condition = "[Products.ProductName].Substring(0,1)" 'set the group condition group.SortOrder = FastReport.SortOrder.Ascending 'and set sort order 
 'create text object Dim groupTxt As New TextObject()
 groupTxt.Parent = group 'set the object on whitch the text will be shown groupTxt.CreateUniqueName()
 groupTxt.Bounds = New RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 1) 'set the text object bounds groupTxt.Text = "[[Products.ProductName].Substring(0,1)]" 'set the text value groupTxt.Font = New Font("Arial", 14, FontStyle.Bold) 'set the font style groupTxt.VertAlign = VertAlign.Center ' set the text align groupTxt.Fill = New LinearGradientFill(Color.LightGoldenrodYellow, Color.Gold, 90, 0.5F, 1) 'set the text object fill 
 'create data band Dim data As New DataBand()
 group.Data = data 'set the group data data.CreateUniqueName()
 data.DataSource = report.Report.GetDataSource("Products") 'set data band source data.Height = Units.Centimeters * 0.5F 'set data band height 
 'create one more text object Dim productText As New TextObject()
 productText.Parent = data 'add the text object to data band productText.CreateUniqueName()
 productText.Bounds = New RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 0.5F) 'set the text object bounds productText.Text = "[Products.ProductName]" 'set the text value 
 'create group footer band group.GroupFooter = New GroupFooterBand()
 group.GroupFooter.CreateUniqueName()
 group.GroupFooter.Height = Units.Centimeters * 1 'set the group footer height 
 'create total object Dim groupTotal As New Total()
 groupTotal.Name = "TotalRows" 'set total object name groupTotal.TotalType = TotalType.Count 'set total type groupTotal.Evaluator = data 'set the band for which the total will be calculated groupTotal.PrintOn = group.GroupFooter 'set the total place report.Report.Dictionary.Totals.Add(groupTotal) 'add the total object to totals collection 
 'create text object Dim totalText As New TextObject()
 totalText.Parent = group.GroupFooter 'set the object on whitch the text will be shown totalText.CreateUniqueName()
 totalText.Bounds = New RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 0.5F) 'set the text object bounds totalText.Text = "Rows: [TotalRows]" 'set the text value totalText.HorzAlign = HorzAlign.Right 'set the text align totalText.Border.Lines = BorderLines.Top 'set the border lines type 
 ViewBag.WebReport = report
 Return View()
 End Function

A partir de los comentarios del código, está claro que creamos objetos de informe y también construimos una jerarquía y dependencia claras. Por ejemplo, todas los band deben agregarse a la página y los cuadros de texto se colocan en los band o dentro de otros objetos, como tablas o matrices, por ejemplo. Es importante no solo construir una dependencia, sino también configurar correctamente las propiedades de los objetos: su tamaño, posición con respecto al objeto principal, etc. El informe se suma de todos estos detalles. Por lo tanto, este método de creación de informes requiere un buen nivel de conocimiento del producto FastReport .NET.

Cada método web en nuestra aplicación de demostración ya está presentado. En la carpeta Views, busque Index.vbhtml. Pegue la siguiente línea de código en un lugar conveniente:

@ViewBag.WebReport.GetHtml()

Aquí realizamos un método de conversión del informe web a HTML. Por supuesto, además de html, contendrá estilos, scripts, imágenes, en general, todo lo que se necesita para la demostración del informe en una página web.

En la carpeta Views hay un archivo de configuración para la aplicación front-end Web.config. Vamos a añadir nuevos espacios de nombres:

 <namespaces>
 <add namespace="FastReport" />
 <add namespace="FastReport.Web" />
 </namespaces>

En la misma carpeta, hay otro archivo en el que tenemos que realizar correcciones: Views/Home/Shared/_Layout.vbhtml. Agreguemos el uso de scripts y estilos de las bibliotecas de FastReport:

<head>
 @WebReportGlobals.Scripts()
 @WebReportGlobals.Styles()
</head>

En la raíz del proyecto hay otra Web.config. En este, después de la sección </system.web> tenemos que añadir:

 <system.webServer>
 <handlers>
 <add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/>
 </handlers>
 </system.webServer>

Nuestra aplicación está lista para su lanzamiento. Nos aseguraremos de su funcionalidad.

El informe web

Eso es todo: hemos creado un informe completo directamente en el código del programa. En apariencia, no es diferente del informe creado en un diseñador visual especial. Pero, por supuesto, hacerlo en el código resulta más difícil. Por lo tanto, recomendamos usar este método solo en casos especiales en los que no se puede implementar una lógica compleja dentro del informe.

about product comprar
avatar
Dmitriy Fedyashov
Technical Writer
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET Visual Studio FastReport ASP.NET MVC Visual Basic

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
  • FAQ
  • Toturial en vídeo
  • Foro
  • Documentación técnica
  • Nuestras noticias
  • Quiénes somos
  • Socios
  • Extended licensing
  • Contactos

© 1998-2023 by Fast Reports Inc.

  • Privacidad