惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
雷峰网
雷峰网
S
SegmentFault 最新的问题
量子位
有赞技术团队
有赞技术团队
V
V2EX
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Jina AI
Jina AI
C
Check Point Blog
G
Google Developers Blog
博客园 - 叶小钗
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
T
Tailwind CSS Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
U
Unit 42

博客园 - zengjun

IE11浏览器中的My97日历控件刷新后无法打开问题解决办法 js模拟Map对象,实现key---value 10 个Javascript框架和丰富的UI组件 获取经纬度之间的距离的SQL函数(转) ASP.NET使用FCKEditor_2.6.6与FCKeditor.Net_2.6.3配置(转载) JS的正则表达式 按指定长度截取字符串(以字节计算长度) CSS IE6,IE7,FF兼容性(转)让你的IE7和IE6友好共存(转) asp.net页面回传与js调用服务端事件、PostBack的原理详解(转) js获取浏览器高度和宽度值(转) ASP.NET 让控件获取焦点及设置输入法全角半角或无效 调用C++开发的DLL报内存异常错误 Gridview设置DataFormatString (转) .NET三层经典架构PetShop3.0说明之表现层 .NET三层经典架构PetShop3.0说明连载一(转) 用ASP.Net2.0开发多语言系统 邮件收发类 永远不要跟父母说的几句话(转) C#泛型集合揽胜(转)
DataGrid中选中checkbox时,该行颜色改变(转)
zengjun · 2008-07-17 · via 博客园 - zengjun

在网络开发中,经常遇到需要使用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控件,选择该控件,该行背景颜色变蓝色,取消选择,该行颜色恢复初始状态。