none
Validar combobox en un datagridview

    Pregunta

  • Buenas 

    en mi datagridview, hay una columna que tiene un combobox y éste tiene las siguientes opciones:

    Items 

    ROBO
    PERDIDA 
    EXTRAVÍO
    RETIRO
    OTROS

    Intento validar el combobox con este codigo 

    For Each row As DataGridViewRow In DGVDetalle_SalidaMercancia.Rows
                    If Not row.IsNewRow Then
                        If row.Cells(5).Value Is Nothing Then
                            If row.Cells(5).Value.ToString() = "" Then
                                MsgBox("debe seleccionar el motivo")
                                Return
                            End If
                        End If
                    End If
                Next

    y me sale este error. 

    Gracias..........


    • Editado EliannyRD martes, 6 de septiembre de 2016 21:34
    martes, 6 de septiembre de 2016 21:26

Respuestas

  • Hola EliannyRD,

    En tu código :

    If row.Cells(5).Value Is Nothing Then
        If row.Cells(5).Value.ToString() = "" Then

    Ahí validas que si es nulo entre al if, eso es incorrecto.

    Intenta haciendo esto :

          Dim vacios As Integer = DGVDetalle_SalidaMercancia.Rows.
                                                 OfType(Of DataGridViewRow).
                                                 Where(Function(x) x.IsNewRow = False And
                                                 CStr(x.Cells(5).Value) = String.Empty).Count
    
            If vacios > 0 Then
                MessageBox.Show("Seleccione el motivo")
                Exit Sub
            End If
    
            'Si seleccionó todos seguimos...

    Prueba y comentas como te va.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta EliannyRD martes, 6 de septiembre de 2016 22:41
    martes, 6 de septiembre de 2016 21:49

Todas las respuestas

  • Hola EliannyRD,

    En tu código :

    If row.Cells(5).Value Is Nothing Then
        If row.Cells(5).Value.ToString() = "" Then

    Ahí validas que si es nulo entre al if, eso es incorrecto.

    Intenta haciendo esto :

          Dim vacios As Integer = DGVDetalle_SalidaMercancia.Rows.
                                                 OfType(Of DataGridViewRow).
                                                 Where(Function(x) x.IsNewRow = False And
                                                 CStr(x.Cells(5).Value) = String.Empty).Count
    
            If vacios > 0 Then
                MessageBox.Show("Seleccione el motivo")
                Exit Sub
            End If
    
            'Si seleccionó todos seguimos...

    Prueba y comentas como te va.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta EliannyRD martes, 6 de septiembre de 2016 22:41
    martes, 6 de septiembre de 2016 21:49
  • Resuelto 100x%

    Bendiciones para ti. 

    Gracias............................

    martes, 6 de septiembre de 2016 22:41