DataGrid 完全攻略之八 (选择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控件,选择该控件,该行背景颜色变蓝色,取消选择,该行颜色恢复初始状态。



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/10/12/253236.html,如需转载请自行联系原作者
相关文章
|
存储 消息中间件 网络协议
金鱼哥RHCA回忆录:DO447Ansible Tower的维护和常规管理--基本的故障排除
第十四章 Ansible Tower的维护和常规管理--基本的故障排除
978 0
金鱼哥RHCA回忆录:DO447Ansible Tower的维护和常规管理--基本的故障排除
|
机器学习/深度学习 存储 自动驾驶
《深度剖析:设计最优深度Q网络结构,精准逼近Q值函数》
深度Q网络(DQN)结合深度学习与Q学习,通过神经网络逼近Q值函数,指导智能体在不同状态下选择最优动作。其核心优势在于解决高维状态空间下的决策问题,利用经验回放机制和目标网络提高训练稳定性。设计高效DQN需考虑输入层、隐藏层及输出层结构,针对不同任务选择合适的网络架构,如CNN处理图像数据,MLP应对数值型状态。案例分析显示,在CartPole和Atari游戏中,DQN通过优化网络结构和策略,取得了显著效果。未来研究将聚焦于更智能的网络设计和跨领域技术融合,拓展DQN的应用范围。
865 14
|
监控 安全 关系型数据库
OceanBase数据库完整版和商业版
OceanBase数据库完整版和商业版
389 1
|
监控 Unix 数据安全/隐私保护
告别中央服务器:Syncthing实现点对点文件同步
告别中央服务器:Syncthing实现点对点文件同步
1111 3
|
存储 编解码 算法
视频编码格式和封装格式有什么关系?相机常见的编码格式有哪些?
视频编码格式与封装格式的关系类似于酒与酒瓶的关系。编码格式是视频的核心内容,如H.264、H.265等,而封装格式则是将视频、音频、字幕等集成在一起的外壳,如MP4、MKV等。不同的封装格式适应不同的播放需求,例如MP4兼容性最好,MKV适合网络传播。
|
关系型数据库 API PostgreSQL
如何创建免费版本的ABP分离模块?
如何创建免费版本的ABP分离模块?
|
分布式计算 Oracle 网络协议
阿里云安装oracle教程,云服务器使用心得
Oracle11g在centos7.6上的安装过程,主要参考csdn在文中表明
2224 0
阿里云安装oracle教程,云服务器使用心得
|
关系型数据库 MySQL 分布式数据库
PolarDB操作报错合集之遇到报错:Nested transactions are not supported,该怎么办
在使用阿里云的PolarDB(包括PolarDB-X)时,用户可能会遇到各种操作报错。下面汇总了一些常见的报错情况及其可能的原因和解决办法:1.安装PolarDB-X报错、2.PolarDB安装后无法连接、3.PolarDB-X 使用rpm安装启动卡顿、4.PolarDB执行UPDATE/INSERT报错、5.DDL操作提示“Lock conflict”、6.数据集成时联通PolarDB报错、7.编译DN报错(RockyLinux)、8.CheckStorage报错(源数据库实例被删除)、9.嵌套事务错误(TDDL-4604)。
425 1
|
编解码 测试技术 数据库连接
【软件测试】基础篇 -- 详解
【软件测试】基础篇 -- 详解
|
Linux RDMA