none
Como validar los checkbox activos o seleccionados? RRS feed

  • Pregunta

  • Tengo en un Form un datagridview, y cuando quiera eliminar un registro selecciono a dicho registro con un checkbox (los checkbox se encuentran dentro del datagridview), y luego presiono el botón eliminar. Pero como podría hacer que salga un msgbox  cuando no se haya seleccionado ningún registró para eliminar del datagridview. Ósea si no he seleccionado ningún checkbox del datagridview para eliminar y presiono el botón Eliminar que hay me salga un msgbox que diga que se debe seleccionar un registro,  para poder llevar a cabo la función de Eliminar.

    Código del botón eliminar:

    Private Sub cmdeliminar2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdeliminar2.Click

     

     

            If MsgBox("Usted desea eliminar el registro?", vbQuestion + vbYesNo, "titulo") = vbNo Then

     

     

            Else

     

                For Each row As DataGridViewRow In dgvlista.Rows

     

                    If CBool(row.Cells(0).Value) Then

     

                        Dim query As String = "DELETE FROM controlgas WHERE Nro_de_pedido=?Nro_de_pedido"

                        Dim cmd As New MySqlCommand(query, conexion)

     

                        cmd.Parameters.Clear()

     

                        cmd.Parameters.AddWithValue("?Nro_de_pedido", CInt(row.Cells(1).Value))

     

                        cmd.ExecuteNonQuery()

     

                        MsgBox("Se elimino correctamente", vbInformation, "titulo")

     

                        dgvlista.Rows.Remove(row)

     

                    End If

                Next

            End If

     

     

     

        End Sub

     como podria hacerlo??

     

    lunes, 19 de noviembre de 2012 4:51

Respuestas

  • Pregunta si el valor contenido en la Celda es igual a TRUE si es asi, actuas si es FALSE entonces no.

    Saludos desde Monterrey, Nuevo León, México!!!

    • Marcado como respuesta Temistocless martes, 20 de noviembre de 2012 4:58
    lunes, 19 de noviembre de 2012 4:55
  • hola

    diculpa fue un detalle, no era row lo que se suaba sino x

    If Not dgvlista.Rows.Cast(Of DataGridViewRow).Any(Function(x) CBool(x.Cells(0).Value)) Then

    solo ese era el cambio


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Temistocless martes, 20 de noviembre de 2012 18:28
    martes, 20 de noviembre de 2012 7:48

Todas las respuestas

  • Pregunta si el valor contenido en la Celda es igual a TRUE si es asi, actuas si es FALSE entonces no.

    Saludos desde Monterrey, Nuevo León, México!!!

    • Marcado como respuesta Temistocless martes, 20 de noviembre de 2012 4:58
    lunes, 19 de noviembre de 2012 4:55
  • hola

    algo como esto

    Private Sub cmdeliminar2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdeliminar2.Click
    
    	If Not dgvlista.Rows.Cast(Of DataGridViewRow).Any(Function(x) CBool(row.Cells(0).Value)) Then
    		Messagebox.Show("debe marcar un registro ha eliminar")
    		Return
    	End If
     
    	If MsgBox("Usted desea eliminar el registro?", vbQuestion + vbYesNo, "titulo") = vbNo Then
    		Return
    	End If
    
    	Dim query As String = "DELETE FROM controlgas WHERE Nro_de_pedido=?Nro_de_pedido"
    	Dim cmd As New MySqlCommand(query, conexion)
    	
    	For Each row As DataGridViewRow In dgvlista.Rows
    		If CBool(row.Cells(0).Value) Then
    
    			cmd.Parameters.Clear()
    			cmd.Parameters.AddWithValue("?Nro_de_pedido", CInt(row.Cells(1).Value))
    			cmd.ExecuteNonQuery()
    			MsgBox("Se elimino correctamente", vbInformation, "titulo")
    
    			dgvlista.Rows.Remove(row)
    
    		End If
    
    	Next
    
    End Sub

    para que la validacion funcione necesitas .net 3.5 o superior

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 19 de noviembre de 2012 5:15
  • Hola Leandro, en esta linea:

    If Not dgvlista.Rows.Cast(Of DataGridViewRow).Any(Function(x) CBool(row.Cells(0).Value)) Then

    en la parte de row me lo marca como error cual puede ser la causa?? (Poseo .net 3.5 o superior)


    • Editado Temistocless martes, 20 de noviembre de 2012 5:07 error
    martes, 20 de noviembre de 2012 5:00
  • hola

    diculpa fue un detalle, no era row lo que se suaba sino x

    If Not dgvlista.Rows.Cast(Of DataGridViewRow).Any(Function(x) CBool(x.Cells(0).Value)) Then

    solo ese era el cambio


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Temistocless martes, 20 de noviembre de 2012 18:28
    martes, 20 de noviembre de 2012 7:48