Estimados lectores, ha sido una experiencia agradable el
hacer este blog y tener algunos lectores que comparten el gusto por la
programación; actualmente estoy empezando otro proyecto, muy personal, con tecnología web que espero compartir con toda la comunidad de
programadores y necesito recursos porque es algo muy personal y mi situación
financiera no es muy buena.
En ocasiones debemos marcar o desmarcar todos los renglones de un datagridview, como por ejemplo si todos los artículos de un pedido están autorizados.
Si alguien desearía
apoyarme tengo una tarjeta Oxxo Saldazo
con el número: 4766-8408-7508-1593,
cualquier apoyo lo pueden hacer en cualquier tienda Oxxo o en Banamex, les
agradezco y que sus proyectos lleguen a buen fin.
La rutina para marcar los checkbox sería la siguiente—donde dgart es mi datagridview:
‘Nos aseguramos que el datagridview tenga registros
If DgArt.Rows.Count > 0 Then
‘si tiene registros recorremos todo el datagridview
For Each Row As DataGridViewRow In DgArt.Rows
‘Asumimos que la celda 0 contiene el checkbox
Row.Cells(0).Value = True
Next
‘ojo, las siguiente lineas es para asegurarnos que cuando ‘grabemos nos grabe 'también el registro en que esta posicionado
‘Una vez acabado el marcado, nos posicionamos en el renglón 0—‘primer 'registro—
DgArt.Rows(0).Selected = True
‘ponemos que la celda actual es cualquier otra que no sea la ‘celda del checkbox, esto es para forzar la actualización —en ‘este caso yo elegi la celda 3
DgArt.CurrentCell = DgArt.Rows(0).Cells(3)
‘colocamos el valor de beginedit a true para entrar a edición
DgArt.BeginEdit(True)
‘y terminamos la edición
DgArt.EndEdit()
End If
Endif
‘para desmarcar la rutina es exactamente igual solo que con false
If DgArt.Rows.Count > 0 Then
‘si tiene registros recorremos todo el datagridview
For Each Row As DataGridViewRow In DgArt.Rows
‘Asumimos que la celda 0 contiene el checkbox
Row.Cells(0).Value = false
Next
‘ojo, las siguiente lineas es para asegurarnos que cuando ‘grabemos nos grabe 'también el registro en que esta posicionado
‘Una vez acabado el marcado, nos posicionamos en el renglón 0—‘primer 'registro—
DgArt.Rows(0).Selected = True
‘ponemos que la celda actual es cualquier otra que no sea la ‘celda del checkbox, 'esto es para forzar la actualización —en ‘este caso yo elegi la celda 3
DgArt.CurrentCell = DgArt.Rows(0).Cells(3)
‘colocamos el valor de beginedit a true para entrar a edición
DgArt.BeginEdit(True)
‘y terminamos la edición
DgArt.EndEdit()
End If
Endif
'Cuando grabemos la rutina seria la siguiente—se puede poner en un boton de comando
Try
'donde dapedido es el sqldataadapter y dtped es la tabla desde la ‘cual llenamos el 'datagridview
dapedido.Update(dtped)
dtped.AcceptChanges()
MessageBox.Show("Las autorizaciones fueron grabadas")
Me.Close()
Catch ex As DBConcurrencyException
MessageBox.Show("Error de concurrencia al Grabar:" & vbCrLf & ex.Message)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'si tienen alguna mejor solución, sobre todo para que grabe la linea en que esta posicionado, por favor envienmela