Saltar al contenido
Underc0de /foro

[SOLUCIONADO] Informe con Dataset y Mysql (VB.NET).

Iniciado por AroonVa, Noviembre 01, 2018, 02:49:34 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Avatar de AroonVa
Noviembre 01, 2018, 02:49:34 PM Ultima modificación: Enero 25, 2019, 08:07:41 PM por Gabriela

Hola buenas días, comunidad.
Disculpen me podrían ayudar, con este problema que tengo al momento de querer cargar un informe con un DataSet que recibe valores de una base de datos MySQL. Mi codigo para cargar el Dataset es el siguiente
Código: text
Private conexion As CapaDatos.CDConexion = New CapaDatos.CDConexion

Private Sub ReportViewer1_Load(sender As Object, e As EventArgs) Handles ReportViewer1.Load
ReportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local

Dim Sql As DataSet = GetData("SELECT * FROM fondofijo ", "fondofijo")
Dim DATA As Microsoft.Reporting.WinForms.ReportDataSource = New Microsoft.Reporting.WinForms.ReportDataSource("Datos", Sql.Tables())
ReportViewer1.LocalReport.DataSources.Clear()
ReportViewer1.LocalReport.DataSources.Add(DATA)
ReportViewer1.LocalReport.ReportEmbeddedResource = "ReportFondoFijo.rdlc"
ReportViewer1.LocalReport.ReportPath = "@ReportFondoFijo.rdlc"
ReportViewer1.LocalReport.Refresh()
End Sub

Private Function GetData(ByVal sql As String, ByVal tabla As String) As Datos

Dim sda As MySqlDataAdapter = New MySqlDataAdapter(sql, conexion.AbrirConexion)
Dim da As MySqlCommandBuilder
da = New MySqlCommandBuilder(sda)
Dim com As Datos = New Datos
sda.Fill(com, tabla)
Return com
End Function


[SOLUCIONADO] Informe con Dataset y Mysql (VB.NET).

De antemano muchas gracias.

4 respuestas

Avatar de Solid Water
Si no me equívoco luego de hacer el datasource =, tenes que hacer un ReportViewer1.DataBind()
Como estás seleccionando solo una tabla, tal vez te convendría cambiar el DataSet por un DataTable.

Saludos,

Avatar de AroonVa
Cita de: solid water en Noviembre 01, 2018, 03:14:59 PM
Si no me equívoco luego de hacer el datasource =, tenes que hacer un ReportViewer1.DataBind()
Como estás seleccionando solo una tabla, tal vez te convendría cambiar el DataSet por un DataTable.

Saludos,
Disculpa compañero tendras algun ejemplo o libre con solo DataTable que me pudieras proporcionar porfavor.

Avatar de Solid Water
Lo del ReportViewer1.DataBind() te funcionó con el DataSet?

Avatar de AroonVa
Disculpa la demora, utilice el sigiente codigo

      
Código: text
'Llenado de detalle del reporte
consulta.Consulta("SELECT *FROM fondofijo", "fondofijo")

Dim bs As New BindingSource()
bs.DataSource = consulta.ds.Tables("fondofijo")
Dim rds As New ReportDataSource()
rds.Name = "DatosFondo"
rds.Value = bs


'Llenado del cuerdo del reporte
consulta.Consulta("SELECT *FROM fondofijocaj WHERE  usuario ='" + FormPrincipal.Usuario.Text + "'", "fondofijocaj")
Dim bs2 As New BindingSource()
bs2.DataSource = consulta.ds.Tables("fondofijocaj")
Dim rds2 As New ReportDataSource()
rds2.Name = "DatosFondo2"
rds2.Value = bs2
ReportViewer1.Reset()

ReportViewer1.LocalReport.ReportPath = "ruta del reporte"
ReportViewer1.LocalReport.DataSources.Clear()
"agregado de datasets al reporte"
ReportViewer1.LocalReport.DataSources.Add(rds)
ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("DataSet1", Invoice))
ReportViewer1.LocalReport.DataSources.Add(rds2)
ReportViewer1.RefreshReport()

Grupo de WhatsApp