假設在 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
Object
,
ByVal
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