Crystal report XI y dataset
Publicado por Javier (5 intervenciones) el 14/12/2006 17:16:22
Hola a todos y gracias por adelantado.
Estoy trabajando con Visual Basic .net 2005 y crystal report XI.
- He añadido las librerias correspondientes para CR XI, y el viewer correspondiente.
- He añadido al formulario un dataset con la tabla correspodiente que se encuentra en sql server express 2005.
- En el report utlizo la conexión a los datos via ADO.xml recuperando la descripcion .xsd del dataset.
- El problema es que todo va correcto, el report lo visualiza, pero los datos que asigno con el dataset al report no.
Aqui paso el codigo:
Imports System.Data.SqlClient
Imports System.Data
Imports System.Windows.Forms.Form
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports AxCrystalActiveXReportViewerLib11
Imports CrystalActiveXReportViewerLib11
Public Class frmprovinciasrpt
Inherits System.Windows.Forms.Form
Private crApp As New CRAXDRT.Application
Private mireport As New CRAXDRT.Report
Public Sub New()
' Llamada necesaria para el Diseñador de Windows Forms.
InitializeComponent()
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
Me.StartPosition = FormStartPosition.CenterScreen
Me.WindowState = FormWindowState.Maximized
Me.ShowInTaskbar = False
Me.ShowIcon = False
End Sub
Private Sub frmprovinciasrpt_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strsql As String
Dim reporte As String
Dim wcodigo As String
reporte = path & "crprovincias.rpt"
strsql = "select * from provincias"
Try
objconex.Open()
objcmd = New SqlCommand(strsql, objconex)
objda = New SqlDataAdapter(strsql, objconex)
objds.Clear()
objds = New dsprovincias
objda.Fill(objds, "provincias")
objconex.Close()
Catch ex As Exception
MessageBox.Show("Error al listar" & ex.Message)
End Try
mireport = Nothing
mireport = crApp.OpenReport(reporte, 1)
mireport.DiscardSavedData()
mireport.Database.SetDataSource(objds)
mireport.EnableParameterPrompting = False
Me.AxCrystalActiveXReportViewer1.ReportSource = mireport
ME.AxCrystalActiveXReportViewer1.DisplayGroupTree = False
Me.AxCrystalActiveXReportViewer1.DisplayTabs = False
Me.AxCrystalActiveXReportViewer1.Visible = True
Me.AxCrystalActiveXReportViewer1.Dock = DockStyle.Fill
Me.AxCrystalActiveXReportViewer1.ViewReport()
End Sub
Private Sub frmprovinciasrpt_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.Dispose()
Me.Close()
End Sub
End Class
Estoy trabajando con Visual Basic .net 2005 y crystal report XI.
- He añadido las librerias correspondientes para CR XI, y el viewer correspondiente.
- He añadido al formulario un dataset con la tabla correspodiente que se encuentra en sql server express 2005.
- En el report utlizo la conexión a los datos via ADO.xml recuperando la descripcion .xsd del dataset.
- El problema es que todo va correcto, el report lo visualiza, pero los datos que asigno con el dataset al report no.
Aqui paso el codigo:
Imports System.Data.SqlClient
Imports System.Data
Imports System.Windows.Forms.Form
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports AxCrystalActiveXReportViewerLib11
Imports CrystalActiveXReportViewerLib11
Public Class frmprovinciasrpt
Inherits System.Windows.Forms.Form
Private crApp As New CRAXDRT.Application
Private mireport As New CRAXDRT.Report
Public Sub New()
' Llamada necesaria para el Diseñador de Windows Forms.
InitializeComponent()
' Agregue cualquier inicialización después de la llamada a InitializeComponent().
Me.StartPosition = FormStartPosition.CenterScreen
Me.WindowState = FormWindowState.Maximized
Me.ShowInTaskbar = False
Me.ShowIcon = False
End Sub
Private Sub frmprovinciasrpt_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strsql As String
Dim reporte As String
Dim wcodigo As String
reporte = path & "crprovincias.rpt"
strsql = "select * from provincias"
Try
objconex.Open()
objcmd = New SqlCommand(strsql, objconex)
objda = New SqlDataAdapter(strsql, objconex)
objds.Clear()
objds = New dsprovincias
objda.Fill(objds, "provincias")
objconex.Close()
Catch ex As Exception
MessageBox.Show("Error al listar" & ex.Message)
End Try
mireport = Nothing
mireport = crApp.OpenReport(reporte, 1)
mireport.DiscardSavedData()
mireport.Database.SetDataSource(objds)
mireport.EnableParameterPrompting = False
Me.AxCrystalActiveXReportViewer1.ReportSource = mireport
ME.AxCrystalActiveXReportViewer1.DisplayGroupTree = False
Me.AxCrystalActiveXReportViewer1.DisplayTabs = False
Me.AxCrystalActiveXReportViewer1.Visible = True
Me.AxCrystalActiveXReportViewer1.Dock = DockStyle.Fill
Me.AxCrystalActiveXReportViewer1.ViewReport()
End Sub
Private Sub frmprovinciasrpt_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.Dispose()
Me.Close()
End Sub
End Class
Valora esta pregunta
0