关于GridView复选框的问题,快解决,快结帖,请大家帮帮忙!

gankailan 2009-02-05 03:10:00
一个复选框控制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;
}
}
}
...全文
69 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
楼上正解
另外建议全选用js控制
回复
koukoujiayi 2009-02-05
在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>
回复
peng_weida 2009-02-05
不太懂,帮忙顶个
回复
金色雨林 2009-02-05
顶一个!

学习ing
回复
gankailan 2009-02-05
给个说法也可以,是简单还是怎么的?还是思路偏差?
回复
gankailan 2009-02-05
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;
}
}
}
回复
gankailan 2009-02-05
自己顶...
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2009-02-05 03:10
社区公告
暂无公告