您现在的位置: 365建站网 > 365文章 > How to implement linked controls in gridview

How to implement linked controls in gridview

文章来源:365jz.com     点击数:157    更新时间:2009-09-19 10:31   参与评论

 

 

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.

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (157人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号