GridView中CheckBox的OnCheckedChanged事件
.aspx Code
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Width="960px">
<Columns>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Name") %>'>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Age">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("Age") %>'>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sex">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("Sex") %>'>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CheckBox">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="CBEvent"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle HorizontalAlign="Center" />
</asp:GridView>
.aspx.cs Code
protected void Page_Load(object sender, EventArgs e)
{
if(!this.IsPostBack)
{
BindData();
}
}
private void BindData()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]{new DataColumn("Name"), new DataColumn("Age"), new DataColumn("Sex")});
DataRow dr1 = dt.NewRow();
dr1[0] = "Hunter1";
dr1[1] = "18";
dr1[2] = "Male";
DataRow dr2 = dt.NewRow();
dr2[0] = "Hunter2";
dr2[1] = "18";
dr2[2] = "Male";
dt.Rows.Add(dr1);
dt.Rows.Add(dr2);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
protected void CBEvent(object sender,EventArgs e)
{
GridViewRow gr=(GridViewRow)((CheckBox)sender).Parent.Parent;
Label lbl1 = (Label)GridView1.Rows[gr.RowIndex].FindControl("Label1");
System.Diagnostics.Debug.Write("Label " + lbl1.Text.ToString());
}

浙公网安备 33010602011771号