假設在 GirdView 欄位的 ItemTemplate 中放置 CheckBox 控制項,然後設定該 CheckBox 的 AutoPostBack 為 True,希望在 CheckBox 的CheckedChanged 事件撰寫相關程式碼。

*.aspx 的程式碼如下

<EditItemTemplate>
    <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" Checked='<%# Bind("Discontinued") %>
     OnCheckedChanged="CheckBox1_CheckedChanged" />
</EditItemTemplate>
一般在 CheckBox 的 CheckedChanged 事件需要它是由那個資料列的 CheckBox 所引發的 PostBack。可以撰寫如下的程式碼,取得控制項所屬的 GridViewRow 及 RowIndex。

 1     Protected Sub CheckBox1_CheckedChanged(ByVal sender As ObjectByVal e As System.EventArgs)
 2         Dim oCheckBox As CheckBox
 3         Dim oGridViewRow As GridViewRow
 4         Dim iRowIndex As Integer
 5 
 6         oCheckBox = CType(sender, CheckBox)
 7 
 8         '取得控制項所屬性 GridViewRow
 9         oGridViewRow = CType(oCheckBox.BindingContainer, GridViewRow)
10 
11         '取得目前 GridViewRow 的索引
12         iRowIndex = oGridViewRow.RowIndex
13     End Sub

posted on 2007-12-14 19:29  jeff377  阅读(1046)  评论(7编辑  收藏  举报