[RESOLVED] [02/03] AddHandler to CheckBox in datagrid
I've got the following item in my grid
Code:
<ItemTemplate>
<asp:CheckBox Checked='<%# DataBinder.Eval(Container.DataItem, "Status") %>' ID="chkNpi" Runat="server"
AutoPostBack="True" Text='<%# DataBinder.Eval(Container.DataItem, "NPI") %>' />
</ItemTemplate>
And the following code in my code behind, but my check changed event never fires. The addHandler code is being executed in the ItemDataBound event. Any ideas?
vb Code:
Public Sub dgProvider_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) _
Handles dgProvider.ItemDataBound
Dim chkNpi As Control = e.Item.FindControl("chkNpi")
If Not chkNpi Is Nothing Then
AddHandler DirectCast(chkNpi, CheckBox).CheckedChanged, AddressOf chkNpi_CheckedChanged
End If
End Sub
Public Sub chkNpi_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim busProvider As New BCBSMT.ProviderBC
End Sub
Re: [02/03] AddHandler to CheckBox in datagrid
But that's a dynamic handler. You've added it yourself and I don't think it will maintain its viewstate because you created it in ItemDataBound. ItemDataBound isn't called everytime, is it?
You must do your AddHandler in the ItemCreated event of 'dgProvider'. Or, I think you can also specify OnCheckChanged as an event handler in the asp:checkbox in the ItemTemplate itself.