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,如需转载请自行联系原作者
相关文章
|
2月前
|
前端开发 算法 JavaScript
从基础到进阶:实现div控件的拖拽和缩放功能
从基础到进阶:实现div控件的拖拽和缩放功能
37 0
|
5月前
《QT从基础到进阶·二十四》按钮组QButtonGroup,单选框QRadioButton和多选框QCheckBox
《QT从基础到进阶·二十四》按钮组QButtonGroup,单选框QRadioButton和多选框QCheckBox
84 0
|
索引
计算机高职专业VB知识要点002,案例涉及控件:复选框combobox、列表框listbox、框架组frame、单选按钮、多选框
计算机高职专业VB知识要点002,案例涉及控件:复选框combobox、列表框listbox、框架组frame、单选按钮、多选框
154 0
计算机高职专业VB知识要点002,案例涉及控件:复选框combobox、列表框listbox、框架组frame、单选按钮、多选框
|
C#
在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色
原文:在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 例如根据学生的年龄来修改,年龄小...
2915 0
|
C# 存储
WPF 实现跑马灯效果的Label控件,数据绑定方式实现
原文:WPF 实现跑马灯效果的Label控件,数据绑定方式实现 项目中需要使用数据绑定的方式实现跑马灯效果的Label,故重构了Label控件;具体代码如下 using System; using System.
2288 0
|
C#
WPF DataGrid 每行ComboBox 内容不同的设置方法
原文:WPF DataGrid 每行ComboBox 内容不同的设置方法 ...
1049 0
|
C#
继续聊WPF——设置网格控件列标题的样式
原文:继续聊WPF——设置网格控件列标题的样式   我很奇怪的是,微软那厮是怎么搞的,Blend里面居然不能编辑GridView的样式,十万般无奈之下,只好手写XAML来处理了。
994 0