,cs页面头添上声明:using System.Drawing; < asp:GridView ID ="dgck" runat ="server" AutoGenerateColumns ="False" Width ="2200px" Font-Size ="X-Small" DataKeyNames ="客户号" AllowSorting ="True" > < RowStyle HorizontalAlign ="Center" Height ="20px" /> < Columns > < asp:TemplateField HeaderText ="选中一行" > < EditItemTemplate > < asp:CheckBox ID ="CheckBox1" runat ="server" /> </ EditItemTemplate > < ItemTemplate > < asp:CheckBox ID ="check" runat ="server" AutoPostBack ="true" OnCheckedChanged ="check]_CheckedChanged" /> </ ItemTemplate > </ asp:TemplateField > </ Columns > < HeaderStyle HorizontalAlign ="Center" Font-Size ="X-Small" ForeColor ="Black" /> < AlternatingRowStyle Font-Size ="X-Small" /> </ asp:GridView > /**/ /// <summary> /// 通过字段CheckBoxField,自定义的列“选中一行”转换成模板列 ItemTemplate 后,在gridview的编辑模板中双击,添加check_Click事件,写点击后触发行变色事件。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void check_CheckedChanged( object sender, EventArgs e) ... { CheckBox cb = (CheckBox)sender ; DataControlFieldCell dcf = (DataControlFieldCell)cb.Parent;//得到checkbox 所在的单元格 GridViewRow gvr = (GridViewRow)dcf.Parent; //得到所在单元格的所在行 if (cb.Checked==true ) ...{ gvr.BackColor = Color .Pink ;//改為你要的顏色 } else ...{ gvr .BackColor = this.dgck.BackColor; } }