miércoles, agosto 17, 2022

Como crear reportes Crystal Reports con ASP.NET

Crear Reportes Crystal Reports en ASP.NET es casi igual a como los creamos en VB.NET y a como lo expongo en este artículo es como me parece que es la forma mas sencilla y la que me ha dado mejor resultado.

Descargar Ejemplo CrystalASP_VB.zip
El directorio virtual debe llamarse "CrystalASP_VB"

Como primer paso debes crear un dataset en la aplicación web


Luego le agregamos el código a nuestro dataset (este código es para este ejemplo, ustede debe modificarlo a su necesidad)

<?xml version="1.0" standalone="yes" ?>
<xs:schema id="DsPruebas" />

Ahora debemos crear el reporte de crystal.

Y una ves creado vamos al Field Explorer del reporte y agregamos la base de datos, en este caso agregamos el dataset que tenemos en nuestra solución.

Buscamos el dataset y lo agregamos.

El siguiente paso seria construir nuestro reporte con los datos que nos permite el dataset. (Para más entendimiento ver solución en archivo de descarga)

Una ves que tenemos el DataSet y el Reporte de Crystal hechos ahora nos vamos mostrarlo en la página web.

Agregamos un CrystalReportViewer donde deseamos que se vea el reporte.

Y en el código le enviamos el dataset lleno con los datos que deseamos que se muestren en el reporte.

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As New DsPruebas
Dim cr As New crPrueba

‘Es importante utilizar el System.Data.MissingSchemaAction.Ignore,
‘para que nos evite errores y haga el merge correctamente
ds.Merge(ReturnDataSet, False, System.Data.MissingSchemaAction.Ignore)

cr.SetDataSource(ds)
Me.crvPrueba.ReportSource = cr
End Sub

‘Este ReturnDataSet es solo a modo de ejemplo,
‘lo ideal es que el dataset sea el producto de alguna
‘consulta a la base de datos,
‘solo que para efectos del ejemplo creamos el dataset manualmente.
Private Function ReturnDataSet() As DataSet
Dim dt As New DataTable
Dim dr As DataRow
Dim ds As New DataSet

dt.Columns.Add(New DataColumn("CodigoEjecutivo", GetType(Integer)))
dt.Columns.Add(New DataColumn("NombreEjecutivo", GetType(String)))

dr = dt.NewRow()
dr("CodigoEjecutivo") = 1
dr("NombreEjecutivo") = "Carlos Solano"
dt.Rows.Add(dr)

dr = dt.NewRow()
dr("CodigoEjecutivo") = 2
dr("NombreEjecutivo") = "Marta Campos"
dt.Rows.Add(dr)

dr = dt.NewRow()
dr("CodigoEjecutivo") = 3
dr("NombreEjecutivo") = "Raúl Ramirez"
dt.Rows.Add(dr)

ds.Tables.Add(dt)
ds.Tables(0).TableName = "Ejecutivos"

Return ds

End Function

Luego de esto solo nos queda compilar nuestra aplicación y el resultado debería verse algo así.

Ahora si, usted sabe como crear reportes Crysta Reports para aplicaciones ASP.NET.

Descargar Ejemplo CrystalASP_VB.zip
El directorio virtual debe llamarse "CrystalASP_VB"




Artículo anteriorSubir archivos en ASP.NET
Artículo siguienteComo usar Cookies en ASP.NET
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub

Redes Sociales

2,736FansMe gusta
326SeguidoresSeguir

Popular esta semana

Flutter – Error: ADB exited with exit code 1

En este artículo vamos a explorar algunas posibles causas y solución al error en Flutter Error: ADB exited with exit code 1....
SQL Server - Merge

MERGE en SQL Server para Insert, Delete y Update con dos tablas

Ejemplo práctico usando MERGE para sincronizar dos tablas, Insert, Update y Delete en un solo query. Válido para SQL SERVER 2008 o superior.

DELETE con subconsulta o INNER JOIN

En el siguiente ejemplo se explica la forma en que se pueden eliminar registros en nuestras tablas con instrucciones DELETE más complejas que las...

Últimos artículos

Flutter - Instagram Clone App

Instagram Clone App con Flutter

Marvin Stanley Valenzuela nos comparte un reto y genialidad a la vez, excelente práctica de la que podemos aprender mucho, diseñó en...

¿Cómo agregar una IP adicional en una VM Ubuntu en Azure?

Lo más común al momento de crear y configurar un nuevo servidor es que a este le asigne un solo IP, pero...
flutter one year

Después de un año con Flutter, esto es lo que aprendí

La historia comenzó cuando un día desperté pensando en tener un nuevo proyecto personal. Me dije a mí misma que hay muchas...
promocionar app

Cómo promocionar gratis tu app usando tappx

Como todos los que me siguen y mis redes sociales sabrán, recientemente lancé mi primera aplicación, pero más allá del desafío tecnológico de...