GridView中点击CheckBox选中一行来改变此行的颜色

时间:2022-09-18 16:40:57

前台: 

复制代码代码如下:


<asp:TemplateField HeaderText="选择"> 
<ItemStyle HorizontalAlign="Center"/> //居中显示 
<ItemTemplate> 
<asp:CheckBox ID="ckbSelect" runat="server" AutoPostBack="true" oncheckedchanged="ckbSelect_CheckedChanged" /> 
</ItemTemplate> 
</asp:TemplateField> 


后台: 

复制代码代码如下:


/// <summary> 
/// checkbox选中时,改变行颜色 
/// </summary> 
/// <param name="sender"></param> 
/// <param name="e"></param> 
protected void ckbSelect_CheckedChanged(object sender, EventArgs e) 

for (int i = 0; i < this.gvStudent.Rows.Count; i++) 

CheckBox cb = (CheckBox)this.gvStudent.Rows[i].FindControl("ckbSelect"); 
if (cb.Checked) 

this.gvStudent.Rows[i].BackColor = System.Drawing.Color.FromName("#e2eaec"); 

else 

this.gvStudent.Rows[i].BackColor = System.Drawing.Color.Empty;