如何实现多个Gridview在一页中,checkbox勾选变行背景色

ONEvector 2012-04-29 07:56:32
在一个Gridview在页面中存在的时候,可以使用以下的方法:
-----------------后台------------------
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int j = 0; j < GridView1.Rows.Count; j++)
{
CheckBox cb1;
cb1 = (CheckBox)GridView1.Rows[j].FindControl("checkbox1");

GridView1.Rows[j].Attributes.Add("id", "tr" + j.ToString());
cb1.Attributes.Add("onclick", "checkme(this,tr" + j.ToString() + ");");
}

-----------------后台------------------

-----------------网页------------------

<script> 
function checkme(obj,tr){
if(obj.checked)
{
tr.style.backgroundColor='#B9D1F3';
}
else
tr.style.backgroundColor='';
}
</script>

-----------------网页------------------

=================================================
多个Gridview存在于一个页面中

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int j = 0; j < GridView1.Rows.Count; j++)
{
CheckBox cb1;
cb1 = (CheckBox)GridView1.Rows[j].FindControl("checkbox1");

GridView1.Rows[j].Attributes.Add("id", "tr" + j.ToString());
cb1.Attributes.Add("onclick", "checkme(this,tr" + j.ToString() + ");");
}

protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int j = 0; j < GridView2.Rows.Count; j++)
{
CheckBox cb2;
cb2 = (CheckBox)GridView2.Rows[j].FindControl("checkbox2");

GridView2.Rows[j].Attributes.Add("id", "tr" + j.ToString());
cb2.Attributes.Add("onclick", "checkme(this,tr" + j.ToString() + ");");
}




但是多个Gridview出现在网页时,由于我没有读懂script的代码,怎么也搞不好
多个Gridview中的checkbox勾选时,背景色变化

希望哪位能告知一下,如何改动,或者增加代码
...全文
152 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
insus 2012-04-29
  • 打赏
  • 举报
回复
ONEvector 2012-04-29
  • 打赏
  • 举报
回复
按照楼上的做法 自己鼓捣了一下 已经完成修改

现在 希望您能推荐几本js,ajax与asp.net结合的书?
ONEvector 2012-04-29
  • 打赏
  • 举报
回复
刚才自己也在捣鼓
改变了 楼上 标红的部分

您能推荐几本js,ajax与asp.net结合的书吗?
  • 打赏
  • 举报
回复
多个gridview的时候,最好给checkbox换个id
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int j = 0; j < GridView1.Rows.Count; j++)
{
CheckBox cb1;
cb1 = (CheckBox)GridView1.Rows[j].FindControl("checkbox1");

GridView1.Rows[j].Attributes.Add("id", "tr" + j.ToString());
cb1.Attributes.Add("onclick", "checkme(this,tr" + j.ToString() + ");");
}

protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int j = 0; j < GridView2.Rows.Count; j++)
{
CheckBox cb2;
cb2 = (CheckBox)GridView2.Rows[j].FindControl("checkbox2");

GridView2.Rows[j].Attributes.Add("id", "tr2" + j.ToString());
cb2.Attributes.Add("onclick", "checkme(this,tr" + j.ToString() + ");");
}




  • 打赏
  • 举报
回复
js也行,ajax局部刷新也可以
ONEvector 2012-04-29
  • 打赏
  • 举报
回复
单Gridview中的checkbox使用这种方法,不会导致页面刷新
比autopostback的方法要好一些

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧