none
Cargar datos en DatagridView con celdas predefinidas RRS feed

  • Pregunta

  • Hola:

    Tengo un DatagridView en VB.NET 2010 en el cual creo las cabeceras de las columnas previamente mediante código y lo utilizo para almacenar registros de medicamentos. (cabe mencionar que dentro del mismo hay objetos ComboBox y botones), hasta aquí todo marcha bien, el problema es, cuando vuelvo a ingresar al formulario, se supone que el DatagridView debería cargar los registros que ingrese con anterioridad para consultar lo datos, pero cuando ejecuto el formulario y muestro los datos me sucede que la fila o filas de en medio siempre quedan  vacías, mi código para cargar el datagridview es el siguiente:

        Public Sub cargarrecetamysql(ByVal cita As Integer)

            Try
                Dim conexion As New MySqlConnection(StringIni)
                Dim adapter As New MySqlDataAdapter
                conexion.Open()
                Dim sqlstr As String = "SELECT * FROM prescripciones_atencion WHERE CITA=" & cita & ""
                Dim cmd As New MySqlCommand(sqlstr, conexion)
                Dim r As Object = cmd.ExecuteReader
                While r.Read
                    FormConsultaExterna.DG.Item("CODIGO", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetString(0)
                    FormConsultaExterna.DG.Item("DESCRIPCION", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetString(1)
                    FormConsultaExterna.DG.Item("PRESENTACION", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetString(2)
                    FormConsultaExterna.DG.Item("EXISTENCIA", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetDecimal(3)
                    FormConsultaExterna.DG.Item("FRACCION", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetInt32(4)
                    FormConsultaExterna.DG.Item("PRES", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetInt32(5)
                    FormConsultaExterna.DG.Item("FRECUENCIA", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetInt32(6)
                    FormConsultaExterna.DG.Item("DOSIS", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetDecimal(7)
                    FormConsultaExterna.DG.Item("PORCIONES", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetString(8)
                    FormConsultaExterna.DG.Item("DIAS", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetInt32(9)
                    FormConsultaExterna.DG.Item("CANTIDAD", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetInt32(10)
                    FormConsultaExterna.DG.Item("FECHA", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetString(11)
                    FormConsultaExterna.DG.Item("PROLONGADO", FormConsultaExterna.DG.Rows(0).Index).Value = r.GetInt32(12)
                    FormConsultaExterna.DG.Rows.Add()
                End While
                If FormConsultaExterna.DG.Rows.Count > 0 Then
                    For Each Fila As DataGridViewRow In FormConsultaExterna.DG.Rows
                        If Fila.Cells(1).Value = Nothing Or Fila.Cells(0).Value = Nothing Then
                            If Not Fila.IsNewRow Then
                                FormConsultaExterna.DG.Rows.Remove(Fila)
                            End If
                        End If
                    Next
                End If
                FormConsultaExterna.DG.AllowUserToAddRows = True
            Catch e As MySqlException
                MsgBox("Error de base de datos: " & e.Number.ToString)
            End Try
        End Sub

    Me podrían ayudar a decirme que estoy haciendo mal



    • Editado Walter Rodríguez viernes, 9 de octubre de 2020 15:30 Revision de Ortografia
    viernes, 9 de octubre de 2020 15:21

Todas las respuestas