none
Pasar datos desde un datagridview a reportviewer vb.net 2017 RRS feed

  • Pregunta

  • Buenas tardes con todos, me podrian ayudar porfavor. Mi problema es el siguiente :

    Estoy tratando de pasar datos de un datagridview a reportviewer sin base de datos, y lo logre pero solo cuando existen en las celdas de mi datagridview unicamente texto, cuando intento hace lo mismo con una datagridview con valores numericos me aparece el mensaje " A data source instance has not been supplied for the data source (DataSet2)"

    el codigo que uso es el siguiente:

     Dim dt2 As New DataTable
                Dim h As DataRow
                dt2.Columns.Add("MD (ft)")
                dt2.Columns.Add("Jet Location (ft)")
                dt2.Columns.Add("Flow Rate (gpm)")
                dt2.Columns.Add("Tubing Velocity (ft/min)")
                dt2.Columns.Add("Annular Velocity (ft/min)")
                dt2.Columns.Add("Tubing Frictional Pressure Loss (psi)")
                dt2.Columns.Add("Annular Frictional Pressure Loss (psi)")
                dt2.Columns.Add("Tubing Pressure (psi)")
                dt2.Columns.Add("Annular Pressure (psi)")

                For d = 0 To FlowandPressure.DGVFP.Rows.Count - 1

                    h = dt2.NewRow
                    h("MD (ft)") = FlowandPressure.DGVFP.Item(0, d).Value.ToString
                    h("Jet Location (ft)") = FlowandPressure.DGVFP.Item(1, d).Value.ToString
                    h("Flow_Rate (gpm)") = FlowandPressure.DGVFP.Item(2, d).Value.ToString
                    h("Tubing Velocity (ft/min)") = FlowandPressure.DGVFP.Item(3, d).Value.ToString
                    h("Annular Velocity (ft/min)") = FlowandPressure.DGVFP.Item(4, d).Value.ToString
                    h("Tubing Frictional Pressure Loss (psi)") = FlowandPressure.DGVFP.Item(5, d).Value.ToString
                    h("Annula Frictional Pressure Loss (psi)") = FlowandPressure.DGVFP.Item(6, d).Value.ToString
                    h("Tubing Pressure (psi)") = FlowandPressure.DGVFP.Item(7, d).Value.ToString
                    h("Annular Pressure (psi)") = FlowandPressure.DGVFP.Item(8, d).Value.ToString

                    dt2.Rows.Add(h)
                Next

                ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource("DataSet2", dt2)).

    Les agradezco de antemano la ayuda que me puedan brindar

    domingo, 26 de agosto de 2018 16:36

Respuestas

  • Hola:
    Prueba a cambiar la siguiente linea
    dt2.Columns.Add("MD (ft)")
    Por esta otra
    dt2.Columns.Add(New DataColumn("MD (ft)", Type.GetType("System.String")))

    Igual para las demas columnas

    Cambia esta linea
    ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource("DataSet2", dt2)).
    Por esta           
    ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource(dt2))

    Un saludo desde Bilbo
    Carlos


    • Propuesto como respuesta Pablo Rubio lunes, 27 de agosto de 2018 14:44
    • Marcado como respuesta Diego A. Herrera lunes, 27 de agosto de 2018 16:15
    lunes, 27 de agosto de 2018 6:18

Todas las respuestas

  • Hola:
    Prueba a cambiar la siguiente linea
    dt2.Columns.Add("MD (ft)")
    Por esta otra
    dt2.Columns.Add(New DataColumn("MD (ft)", Type.GetType("System.String")))

    Igual para las demas columnas

    Cambia esta linea
    ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource("DataSet2", dt2)).
    Por esta           
    ReportViewer1.LocalReport.DataSources.Add(New Microsoft.Reporting.WinForms.ReportDataSource(dt2))

    Un saludo desde Bilbo
    Carlos


    • Propuesto como respuesta Pablo Rubio lunes, 27 de agosto de 2018 14:44
    • Marcado como respuesta Diego A. Herrera lunes, 27 de agosto de 2018 16:15
    lunes, 27 de agosto de 2018 6:18
  • Muchas gracias por responder, le agradezco su ayuda me sirivio mucho , ya esta solucionado, sim embargo me encentro ante otro problema.

    Me muestra en la tabla para la impresion 13 decimales y no logro poner unicamente dos decimales. Mil disculpas por tanta molestia pero de verdad le agradeceria me pueda orientar.

    Saludos

    lunes, 27 de agosto de 2018 16:18