Checkbox dentro de Gridview


/ Published in: VB.NET
Save to your folder(s)

Al hacer click en el checkbox que se encuentra dentro del gridview, capturo el id unico de quien pertenece dicho checkbox y guardo los cambios en el datatable.


Copy this code and paste it in your HTML
  1. Protected Sub chkResponsable_OnCheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  2. Dim chkResponsable As CheckBox = CType(sender, CheckBox)
  3. Dim dtResponsable As DataTable = Session("dtResponsable")
  4. Dim idResponsable As Integer
  5.  
  6. 'Navega por la gerarquia de controles que contienen al CheckBox hasta llegar al GridViewRow
  7. Dim gvrFilaActual As GridViewRow = DirectCast(DirectCast(chkResponsable.Parent, DataControlFieldCell).Parent, GridViewRow)
  8. 'Obtiene el campo idResponsable que esta en la fila del CheckBox que se ha seleccionado y actualiza su estado bool
  9. idResponsable = DirectCast(gvrFilaActual.Cells(2).FindControl("lblidResponsable"), Label).Text
  10.  
  11. If chkResponsable.Checked = True Then
  12. For i = 0 To dtResponsable.Rows.Count - 1
  13. If dtResponsable.Rows(i)("idResponsable") = idResponsable Then
  14. dtResponsable.Rows(i)("valorBool") = 1
  15. End If
  16. Next
  17. Else
  18. For i = 0 To dtResponsable.Rows.Count - 1
  19. If dtResponsable.Rows(i)("idResponsable") = idResponsable Then
  20. dtResponsable.Rows(i)("valorBool") = 0
  21. End If
  22. Next
  23. End If
  24. Session("dtResponsable") = dtResponsable
  25.  
  26. lblConfirma.Text = ""
  27. lblError.Text = ""
  28. End Sub
  29.  
  30. '<asp:GridView ....>
  31. ' <Columns>
  32. ' ....
  33. ' <asp:TemplateField HeaderText="Seleccionar">
  34. ' <ItemTemplate>
  35. ' <asp:Checkbox ID="chkResponsable" runat="server" AutoPostBack="true" Checked='<%# Eval("valorBool") %>' OnCheckedChanged="chkResponsable_OnCheckedChanged" />
  36. ' </ItemTemplate>
  37. ' <HeaderStyle HorizontalAlign="Center" Width="5%" />
  38. ' <ItemStyle HorizontalAlign="Center" Width="5%" />
  39. ' </asp:TemplateField>
  40. ' </Columns>
  41. '</asp:GridView>

URL: http://foros.elguille.info/Mensajes.aspx?ID=34315

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.