There is relationship between LCE Category and LCE Type. The items of LCE Type are gotten dynamically according to the selected item of LCE Category. When the certain item of LCE Category is chosen, the system will get dataset from the database via Store Procedure. The items of LCE Type will be updated.
Now let I explain the implementation using the traditional way in ASP.NET.
1. Set ASPX
LCECategoryTypeDropDownList should set AutoPostBack attribute to TRUE.
<asp:TemplateField HeaderText="LCE Category" >
<ItemTemplate>
<asp:DropDownList ID="LCECategoryTypeDropDownList" runat="server" AutoPostBack="true"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="LCE Type" >
<ItemTemplate>
<asp:DropDownList ID="LCETypeDropDownList" runat="server" ></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
2. Set behind code
Please note, the AddHandler statement must be put in the RowCreated Method. If you put it into the RowDataBound method instead, it doesn’t work.
Private Sub profileDetailGridView_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles profileDetailGridView.RowCreated
Dim LCECategoryTypeDropDownList As DropDownList
If e.Row.RowType = DataControlRowType.DataRow Then
LCECategoryTypeDropDownList = CType(e.Row.FindControl("LCECategoryTypeDropDownList"), DropDownList)
AddHandler LCECategoryTypeDropDownList.SelectedIndexChanged, AddressOf CategoryTypeDropDownList_SelectedIndexChanged
End If
End Sub
I quote Parent twice in the following snippet. The first Parent is to get Cell which includes current DropDowList. The second Parent is to get Parent of Cell, Row.
Protected Sub CategoryTypeDropDownList_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim CategoryDropDownList As DropDownList = CType(sender, DropDownList)
Dim LCETypeDropDownList As DropDownList
If CategoryDropDownList IsNot Nothing Then
LCETypeDropDownList = CType(CategoryDropDownList.Parent.Parent.FindControl("LCETypeDropDownList"), DropDownList)
‘’’ get dataset and bind to the controls
End If
End Sub
If you have any questions, please feel free to let me know.
Thanks.
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛