Foros del Web » Programación para mayores de 30 ;) » .NET »

Checkbox en datagrid

Estas en el tema de Checkbox en datagrid en el foro de .NET en Foros del Web. Hola , quisiera solamente hacer esta pregunta , tengo un datagrid con checkbox , y quiero que cuando haga click se me pinte la fila,(tipo ...
  #1 (permalink)  
Antiguo 20/06/2005, 08:48
 
Fecha de Ingreso: septiembre-2004
Mensajes: 407
Antigüedad: 19 años, 7 meses
Puntos: 1
Checkbox en datagrid

Hola , quisiera solamente hacer esta pregunta , tengo un datagrid con checkbox , y quiero que cuando haga click se me pinte la fila,(tipo Hotmail) pero que sea del lado del cliente , lo logre hacer pero del lado del servidor y me dijeron que no es optimo y que la haga del lado del cliente pero no se como hacerlo , si me pueden ayudar se los agradeceria, disculpen las molestias

GRACIAS
__________________
Mas vale morir de pie que vivir de rodillas :ojotes:
  #2 (permalink)  
Antiguo 20/06/2005, 16:29
 
Fecha de Ingreso: marzo-2005
Mensajes: 94
Antigüedad: 19 años, 1 mes
Puntos: 0
Hola, puedes usar javascript que se ejecuta en el cliente. Debes dar id's al checkbox y luego usar el document.GetElementByid("id del datagrid"). Perdona que no sea mas explicito, pero creo que se puede hacer asi. Voy a mirarlo por ahi. Si lo descubres, dime como lo has hecho.
  #3 (permalink)  
Antiguo 21/06/2005, 07:27
 
Fecha de Ingreso: septiembre-2004
Mensajes: 407
Antigüedad: 19 años, 7 meses
Puntos: 1
Gracias por contestar , pero la verdad no tengo ni idea de javascript si me puedes tirar alguna ayuda conceptual lo averigüo millones de gracias
__________________
Mas vale morir de pie que vivir de rodillas :ojotes:
  #4 (permalink)  
Antiguo 21/06/2005, 09:20
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Te mando un ejemplo...

Supongamos que tiene sun datagrid con la siguiente estructura:

Cita:
<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# Container.DataItem("Campo1") %>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<%# Container.DataItem("Campo2") %>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox Runat="server" ID="chkOption"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
Cuando llenes tu datagrid lo que vas a hacer es localizar el checkbox para asociarle el evento click y asignarle un ID a la fila para poder hacer despues la referencia en el evento ItemDataBound ... tu code quedaría:

Cita:
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.Item Then
Dim chk As CheckBox = CType(e.Item.FindControl("chkOption"), CheckBox)
chk.Attributes.Add("onclick", "markRow('" + e.Item.ClientID + "',this)")
e.Item.Attributes.Add("id", e.Item.ClientID)


End If
End Sub

Y finalmente tu javascript quedaría: (dentro de los headers), donde recibe 2 parámetros... el id la fila y el objeto checkbox...

Cita:
<script language=javascript>
function markRow(obj,chk)
{
if (chk.checked) {
obj = document.getElementById(obj);
obj.style.backgroundColor = 'red';
}
else {
obj = document.getElementById(obj);
obj.style.backgroundColor = 'white';
}
}
</script>
Y listo.. cuando des click se iluminará la columna seleccionada y viceversa..

Espero haber sido claro y que te haya servido

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #5 (permalink)  
Antiguo 21/06/2005, 09:23
 
Fecha de Ingreso: septiembre-2004
Mensajes: 407
Antigüedad: 19 años, 7 meses
Puntos: 1
GRACIAS LOS AMO!!!!!!!!!!!!!
__________________
Mas vale morir de pie que vivir de rodillas :ojotes:
  #6 (permalink)  
Antiguo 21/06/2005, 09:36
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
GRACIAS LOS AMO!!!!!!!!!!!!!
wow.... ya me siento amado.. jaja ya me dí cuenta que las maquinas tambien sentimos.. jaja
  #7 (permalink)  
Antiguo 23/06/2005, 09:14
 
Fecha de Ingreso: junio-2005
Mensajes: 18
Antigüedad: 18 años, 10 meses
Puntos: 0
Checa esta pagina:

http://www.codeproject.com/aspnet/Mu..._Dataagrid.asp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 05:15.