You have to do the following in the itemCreated event of the datagrid you must add an eventhandler to the dropdownlist of OnselectedIndexChanged:
Private Sub dgMajors_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgMajors.ItemCreated
If e.Item.ItemType = ListItemType.Footer Then
Dim droplevel As DropDownList
droplevel = CType(e.Item.FindControl("drpInsLevel"), DropDownList)
AddHandler droplevel.SelectedIndexChanged, New EventHandler(AddressOf droplevel_SelectedIndexChanged)
End If
End Sub
Then Declare you EventHandler:
Private Sub droplevel_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Dim selVal As Integer Dim dgItem As DataGridItem Dim ddl As DropDownList ddl = sender dgItem = ddl.NamingContainer Dim ptype As DropDownList = CType(dgItem.FindControl("drpinstype"),
DropDownList) Dim lblptype As Label = CType(dgItem.FindControl("programtype"), Label) selVal = CType(sender, DropDownList).SelectedItem.Value If selVal = 2 Then ptype.Visible = True lblptype.Visible = True Else ptype.Visible = False lblptype.Visible = False
End If End Sub
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
mreyeros
Contributor
4022 Points
736 Posts
Re: dropdown autopostback inside of datagrid
Sep 03, 2003 03:59 PM|LINK
Private Sub dgMajors_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgMajors.ItemCreated If e.Item.ItemType = ListItemType.Footer Then Dim droplevel As DropDownList droplevel = CType(e.Item.FindControl("drpInsLevel"), DropDownList) AddHandler droplevel.SelectedIndexChanged, New EventHandler(AddressOf droplevel_SelectedIndexChanged) End If End SubThen Declare you EventHandler:Private Sub droplevel_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Dim selVal As Integer Dim dgItem As DataGridItem Dim ddl As DropDownList ddl = sender dgItem = ddl.NamingContainer Dim ptype As DropDownList = CType(dgItem.FindControl("drpinstype"), DropDownList) Dim lblptype As Label = CType(dgItem.FindControl("programtype"), Label) selVal = CType(sender, DropDownList).SelectedItem.Value If selVal = 2 Then ptype.Visible = True lblptype.Visible = True Else ptype.Visible = False lblptype.Visible = False End If End Sub