天天看点

GridView选中改变背景色

  1. protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  2.     {
  3.         if (e.Row.RowType == DataControlRowType.DataRow)
  4.         {
  5.             CheckBox chkbox = (CheckBox)e.Row.FindControl("chkSelect");
  6.             string script = "function HighlightSelected(selectedCheckbox, RowState){" +
  7.                 "if (selectedCheckbox.checked) selectedCheckbox.parentElement.parentElement.style.backgroundColor='#D6E3F7';" +
  8.                 "else { if (RowState == '0' ) selectedCheckbox.parentElement.parentElement.style.backgroundColor = '#FFFFFF'; " +
  9.                 "else selectedCheckbox.parentElement.parentElement.style.backgroundColor='#FFFFFF';}}";
  10.             Page.ClientScript.RegisterStartupScript(this.GetType(), "RowDataBoundScript", script, true);
  11.             chkbox.Attributes.Add("onclick", "HighlightSelected(this, '" + Convert.ToString(e.Row.RowState) + "');");
  12.         }
  13.     }
前台代码

  1. <asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Horizontal" AutoGenerateColumns="False" DataKeyNames="stoneID" OnRowDataBound="GridView1_RowDataBound">
  2.     <FooterStyle BackColor="#CCCC99" ForeColor="Black" />
  3.     <SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
  4.     <PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
  5.     <HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
  6.     <Columns>
  7.         <asp:TemplateField>
  8.             <ItemTemplate>
  9.                 <asp:CheckBox ID="chkSelect" runat="server" />
  10.                <asp:Label ID="stoneID"  runat="server" Text='<%# Eval("stoneID") %>'  Visible="false" />
  11.             </ItemTemplate>
  12.         </asp:TemplateField>
  13.     </Columns>
  14. </asp:GridView>

继续阅读