,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; } }