none
Verificar si hay ceros en 3 columnas dgv RRS feed

  • Pregunta

  • Verán que estoy siendo pesado con el tema datagridview, pero es que aún no le cojo el hilo.

    Tengo un datagridview que, en el formload muestra 4 columnas, las 3 últimas contienen ceros "0", necesito poder recorrer el dgv y verificar si todas tienen ceros o si alguna tiene un valor distino.

    Si todas tienen ceros, el boton1 abre un form, y si alguna celda tiene algún valor distinto, el boton1 abre otro form.

    Muchas gracias por vuestra ayuda.

    • Cambiado Enrique M. Montejo sábado, 17 de junio de 2017 6:34 Pregunta relacionada con controles de Windows Forms.
    miércoles, 14 de junio de 2017 11:51

Respuestas

  • Hola dynamicuy,

    [-] ... poder recorrer el dgv y verificar si todas tienen ceros o si alguna tiene un valor distinto.

    Lo que podrías hacer es crearte un variable de tipo 'Integer' que almacene la suma de los valores, y si al terminar el recorrido de todas las columnas el resultado es 0 es porque todos los valores de las 3 columnas son ceros, caso contrario alguno de ellos presenta un valor diferente.

    Por lo que podrías hacer algo como :

    Dim result = DataGridView1.Rows.OfType(Of DataGridViewRow).
                 Sum(Function(x) CInt(x.Cells("Column2").Value) +
                                 CInt(x.Cells("Column3").Value) +
                                 CInt(x.Cells("Column4").Value))
    
    'Si result es 0 es porque las 3 columnas tienen puros ceros
    If result = 0 Then
        MessageBox.Show("Todos los valores de la columna 1, 2 y 3 son ceros.")
    Else
        'Es otro valor diferente a 0
        MessageBox.Show("Es otro valor..")
    End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    miércoles, 14 de junio de 2017 15:01