一个复选框控制gridView里的复选框是否全选,同时要改变一下选中了的行的颜色怎么实现?(全选效果已实现)
 protected void chkAllUser_CheckedChanged(object sender, EventArgs e)
    {
        if (chkAllUser.Checked)
        {
            foreach (GridViewRow row in grvUser.Rows)
            {
                CheckBox userbox = row.FindControl("chkUser") as CheckBox;
                userbox.Checked = true;
                row.BackColor = Color.FromName("#F5A300");
            }        }
        else
        {
            foreach (GridViewRow row in grvUser.Rows)
            {
                CheckBox userbox = row.FindControl("chkUser") as CheckBox;
                userbox.Checked = false;
            }
        }
    }

解决方案 »

  1.   

    protected void chkAllUser_CheckedChanged(object sender, EventArgs e) 
        { 
            if (chkAllUser.Checked) 
            { 
                foreach (GridViewRow row in grvUser.Rows) 
                { 
                    CheckBox userbox = row.FindControl("chkUser") as CheckBox; 
                    userbox.Checked = true; 
                    row.BackColor = Color.FromName("#F5A300"); 要在dataBound事件里才起作用,所以改变颜色怎么完成?
                }         } 
            else 
            { 
                foreach (GridViewRow row in grvUser.Rows) 
                { 
                    CheckBox userbox = row.FindControl("chkUser") as CheckBox; 
                    userbox.Checked = false; 
                } 
            } 
        }
      

  2.   

    在GridView的RowDataBound输入代码
    假定CheckBox在第0列,id是CheckBox1
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    CheckBox myC = (CheckBox)e.Row.Cells[0].FindControl("CheckBox1");
    e.Row.Attributes.Add("id", "tr" + e.Row.RowIndex.ToString());
    myC.Attributes.Add("onclick", "ChangeColor(" + myC.ClientID + ",tr" + e.Row.RowIndex.ToString() + ");");
    }
    }js代码:
    <script type="text/javascript">
    function ChangeColor(obj,tr)
            { 
                if(obj.checked) 
                {
                    tr.style.backgroundColor='#adff2f'; 
                }
                else 
                {
                    tr.style.backgroundColor='#f5F5F5'; 
                }
            }
    </script>