
02/11/2009, 15:37
|
| | Fecha de Ingreso: julio-2007
Mensajes: 1
Antigüedad: 17 años, 6 meses Puntos: 0 | |
Respuesta: CheckBox en DataGridView Bueno eso se hace manejando los template columns, en tu datagridview... agregas una columna template (las columnas template sirven para que tu puedas agregarle cualquier server side control (textbox, checkbox, etc) y que este se repita en cada fila. Luego obviamente le colocas un checkbox (llamado checkbox1) jalandolo del tu libreria de controles (primero seleccionas, "edit templates")... y luego haces algo por el estilo en tu codebehind (el codigo vb de la pagina):
(este ejemplo es valido para cualquier version de vs -2k3, 2k5, 2k8, no se si el 2k10 tambien, pero me imagino que si-, lo unico que cambia es el evento de enlace de datos del datagrid view, me explico mas abajo)
1.- Creas la funcion que dispara el evento de creacion de la fila del gridview:
'<--2k5, 2k8<----
<B>
Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
</B>
2.- En ese metodo creas un puntero vacio para tu checkbox y luego lo haces apuntar al checkbox de la fila que esta siendo creada, luego se crea el handler para que maneje el evento del checkbox:
<B>
' verifico que sea una fila de tipo de datos
If e.Row.RowType = DataControlRowType.DataRow Then
' creo el puntero
dim chk as checkbox
hago que apunte al checkbox creado para la fila
chk = e.Row.FindControl("checkbox1")
verifico que lo haya encontrado
if isNot Nothing
' agrego el handler
addhandler chk.CheckedChanged , addressof chk_CheckedChanged
end if
end if
</B>
3.- Luego creas la funcion que maneje el cambio del checkbox y haces lo que quieras que haga...
Private Sub chk_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'---- CODIGO PARA GUARDAR EN TU BD o DONDE SEA...(ya ahi tu mismo eres...)
End Sub
espero te ayude
Saludos,
Omar |