选择DataGrid中的CheckBox控件后该行背景变色

 

在网络开发中,经常遇到需要使用ASP.NET与JavaScript联合进行控制的情况。在本篇中,将使用DataGrid进行数据绑定,使用Javascript控制当选中其中的checkbox时,该行颜色改变。

首先,在页面中创建一个DataGrid控件,并设置其模板。

<asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox id="checkbox1" Runat ="server"></asp:CheckBox>
<asp:Label  runat="server" Text='<%# DataBinder.Eval(Container, "DataItem") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

第二,在页面中的<head></head>中编写JavaScript脚本函数,进行CheckBox的判断和颜色改变的控制。

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

第三,在Page_Load事件中为DataGrid绑定数据,并关联CheckBox的JavaScript脚本。

private void Page_Load(object sender, System.EventArgs e)
{
 // Put user code to initialize the page here
 if(!IsPostBack)
 {
  databind();
 }
}

private void databind()
{
 ArrayList arr=new ArrayList();
 arr.Add("新闻综合");
 arr.Add("综艺");
 arr.Add("电影");
 arr.Add("教育");
 arr.Add("戏剧");
 arr.Add("军事");
 arr.Add("体育");
 DataGrid1.DataSource=arr;
 DataGrid1.DataBind(); 
 int i;
 for(i=0;i<DataGrid1.Items.Count;i++){
  CheckBox cb;
  cb=(CheckBox)DataGrid1.Items[i].FindControl("checkbox1");
  DataGrid1.Items[i].Attributes.Add("id","tr" + i.ToString());
  cb.Attributes.Add("onclick","checkme(this,tr" + i.ToString() + ");");
 }
}

第四,完成之后运行程序。程序运行后,会在DataGrid控件的每行前显示一个CheckBox控件,选择该控件,该行背景颜色变蓝色,取消选择,该行颜色恢复初始状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值