none
como saber si dentro de un datagridview hay celdas vacias vb.net

    Pregunta

  • lo que quiero hacer es que si el datagridview este lleno muestre 5 botones de lo contrario que salga un mensaje de "llenar todas las celdas " pero que no muestre los botones hasta que este lleno 
    domingo, 11 de septiembre de 2016 4:06

Respuestas

  • Hola Kevin R. Serrano,

    Cómo vas a hacer la verificación de que las celdas estén vacías o no? Vas a usar algún evento del DataGridView o algún evento click de un botón "x" ?

    Private Sub btnProcesar_Click(sender As Object, e As EventArgs) Handles Button1.Click For f = 0 To DataGridView1.RowCount - 1 For c = 0 To DataGridView1.ColumnCount - 1 If DataGridView1(c, f).Value Is Nothing OrElse String.IsNullOrEmpty(DataGridView1(c, f).Value.ToString) Then MessageBox.Show("Debe de rellenar todas las celdas.") Exit Sub 'Salimos del evento End If Next Next 'Celdas completas .... 'Habilitamos los botones

    Button1.Visible = True

    Button2.Enabled= True

    End Sub

    En este caso hago la validación mediante un botón, puedes usar el evento CellEndEdit EditingControlShowing.

    Si estás permitiendo la edición directa en el DataGridView puedes usar el evento CellValidating.

     Private Sub DataGridView1_CellValidating(sender As Object, e ....
            If String.IsNullOrEmpty(e.FormattedValue.ToString) Then
                DataGridView1.Rows(e.RowIndex).ErrorText = "No debe ser vacío."
                e.Cancel = True
            End If
        End Sub

    Todo depende de en que momento harás la validación correspondiente.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 11 de septiembre de 2016 11:58

Todas las respuestas

  • Hola Kevin R. Serrano,

    Cómo vas a hacer la verificación de que las celdas estén vacías o no? Vas a usar algún evento del DataGridView o algún evento click de un botón "x" ?

    Private Sub btnProcesar_Click(sender As Object, e As EventArgs) Handles Button1.Click For f = 0 To DataGridView1.RowCount - 1 For c = 0 To DataGridView1.ColumnCount - 1 If DataGridView1(c, f).Value Is Nothing OrElse String.IsNullOrEmpty(DataGridView1(c, f).Value.ToString) Then MessageBox.Show("Debe de rellenar todas las celdas.") Exit Sub 'Salimos del evento End If Next Next 'Celdas completas .... 'Habilitamos los botones

    Button1.Visible = True

    Button2.Enabled= True

    End Sub

    En este caso hago la validación mediante un botón, puedes usar el evento CellEndEdit EditingControlShowing.

    Si estás permitiendo la edición directa en el DataGridView puedes usar el evento CellValidating.

     Private Sub DataGridView1_CellValidating(sender As Object, e ....
            If String.IsNullOrEmpty(e.FormattedValue.ToString) Then
                DataGridView1.Rows(e.RowIndex).ErrorText = "No debe ser vacío."
                e.Cancel = True
            End If
        End Sub

    Todo depende de en que momento harás la validación correspondiente.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 11 de septiembre de 2016 11:58
  • me funciona de maravilla ambas formas...muchas gracias amigo me has hecho ganar unos puntos extras!!!

    domingo, 11 de septiembre de 2016 21:01