none
Error al eliminar fila en Datagridview(DGV) RRS feed

  • Pregunta

  • Buenas Tardes,

        Estoy tratando de dar una solución apresurada a unas líneas vacias que aparecen al final de mi DGV pero me sale un error. Aquí les dejo una foto del problema.

    En este caso RowCount = 3, I = 2

            For I = DGV1_Grilla.RowCount - 1 To 0 Step -1
                If I > 1 Then
                    If IsNothing(DGV1_Grilla.Rows(I - 1).Cells(0).Value) Or

                                 IsDBNull(DGV1_Grilla.Rows(I-1).Cells(0).Value) Then 'Valida si Cantidad = 0
                        DGV1_Grilla.Rows.Remove(DGV1_Grilla.Rows(I))
                    End If
                End If
            Next

    Error: LA NUEVA FILA SIN CONFIRMAR NO SE PUEDE ELIMINAR


    Gracias.

    martes, 20 de octubre de 2015 19:29

Respuestas

  • Hola Carlos,

    el problema es que si el DataGridView permite añadir nuevas filas crea automáticamente una nueva fila para introducir nuevos datos.

    Esta fila no puede ser eliminada. Deberías comprobar que no se trata de esta fila antes de tratar de eliminarla.

            For I = DGV1_Grilla.RowCount - 1 To 0 Step -1
                If I > 1 And Not DGV1_Grilla.Rows(I).IsNewRow Then
                    If IsNothing(DGV1_Grilla.Rows(I - 1).Cells(0).Value) Or
                                 IsDBNull(DGV1_Grilla.Rows(I - 1).Cells(0).Value) Then 'Valida si Cantidad = 0
                        DGV1_Grilla.Rows.Remove(DGV1_Grilla.Rows(I))
                    End If
                End If
            Next
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    martes, 20 de octubre de 2015 19:42

Todas las respuestas

  • Hola Carlos,

    el problema es que si el DataGridView permite añadir nuevas filas crea automáticamente una nueva fila para introducir nuevos datos.

    Esta fila no puede ser eliminada. Deberías comprobar que no se trata de esta fila antes de tratar de eliminarla.

            For I = DGV1_Grilla.RowCount - 1 To 0 Step -1
                If I > 1 And Not DGV1_Grilla.Rows(I).IsNewRow Then
                    If IsNothing(DGV1_Grilla.Rows(I - 1).Cells(0).Value) Or
                                 IsDBNull(DGV1_Grilla.Rows(I - 1).Cells(0).Value) Then 'Valida si Cantidad = 0
                        DGV1_Grilla.Rows.Remove(DGV1_Grilla.Rows(I))
                    End If
                End If
            Next
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    martes, 20 de octubre de 2015 19:42
  • Excelente Respuesta Gracias...
    martes, 20 de octubre de 2015 20:06