checkboxTemplate en el checkedChange
Publicado por IDo (4 intervenciones) el 30/03/2010 09:21:11
Hola.
Vereis, he creado una columna para mi girdview como un template, ya que el gridview se genera dinamicamente, de la siguiente manera:
tf = New TemplateField
CheckBoxColumn = New GridViewCheckBoxTemplate(id, True)
tf.ItemTemplate = CheckBoxColumn
gv.Columns.Insert(gv.Columns.Count, tf)
Siendo el GridViewCheckBoxTemplate class:
Event CheckBoxCheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
Public Sub New(ByVal idAs Integer, ByVal chequeado As Boolean)
Me.id= id
Me.Checked = chequeado
End Sub
Private Sub CheckBoxItem_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
RaiseEvent CheckBoxCheckedChanged(sender, e)
End Sub
Public Overridable Overloads Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn
Dim checkBox As New CheckBox
checkBox.EnableViewState = True
checkBox.AutoPostBack = True
checkBox.ID = Me.Id
checkBox.Checked = Checked
AddHandler checkBox.CheckedChanged, AddressOf CheckBoxItem_CheckedChanged
container.Controls.Add(checkBox)
End Sub
Pero cuando cambio uno de los checks de los checkboxes, en vez de tener solo el checkChange event de ese checkbox, obtengo el evento de todos los checkboxes que tienen el estado diferente al de suc reación. Es decir, cuando creo la columna pongo todos chequeados, asi que cuadno deschequeo uno, en vez der ecibir el evento de solo ese checkbox, recibo el de todos aquellos que esten deschequeados.
Alguien sabe que está pasando y como puedo hacer para que solo salte el evento del checkbox que he tocado?
gracias
Vereis, he creado una columna para mi girdview como un template, ya que el gridview se genera dinamicamente, de la siguiente manera:
tf = New TemplateField
CheckBoxColumn = New GridViewCheckBoxTemplate(id, True)
tf.ItemTemplate = CheckBoxColumn
gv.Columns.Insert(gv.Columns.Count, tf)
Siendo el GridViewCheckBoxTemplate class:
Event CheckBoxCheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
Public Sub New(ByVal idAs Integer, ByVal chequeado As Boolean)
Me.id= id
Me.Checked = chequeado
End Sub
Private Sub CheckBoxItem_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
RaiseEvent CheckBoxCheckedChanged(sender, e)
End Sub
Public Overridable Overloads Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn
Dim checkBox As New CheckBox
checkBox.EnableViewState = True
checkBox.AutoPostBack = True
checkBox.ID = Me.Id
checkBox.Checked = Checked
AddHandler checkBox.CheckedChanged, AddressOf CheckBoxItem_CheckedChanged
container.Controls.Add(checkBox)
End Sub
Pero cuando cambio uno de los checks de los checkboxes, en vez de tener solo el checkChange event de ese checkbox, obtengo el evento de todos los checkboxes que tienen el estado diferente al de suc reación. Es decir, cuando creo la columna pongo todos chequeados, asi que cuadno deschequeo uno, en vez der ecibir el evento de solo ese checkbox, recibo el de todos aquellos que esten deschequeados.
Alguien sabe que está pasando y como puedo hacer para que solo salte el evento del checkbox que he tocado?
gracias
Valora esta pregunta


0