Principales respuestas
Pasar datos desde un datagridview a reportviewer vb.net 2017

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
Respuestas
-
Hola:Prueba a cambiar la siguiente lineadt2.Columns.Add("MD (ft)")Por esta otradt2.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
Todas las respuestas
-
Hola:Prueba a cambiar la siguiente lineadt2.Columns.Add("MD (ft)")Por esta otradt2.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
-
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