CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

datagrid里如何加入checkbox?

楼主sunnyvivi()2006-01-26 13:54:19 在 .NET技术 / ASP.NET 提问

我想在datagrid里每一行都加一个checkbox,该如何实现呢?  
  请各位大虾帮帮忙,我要回家过年!555555555 问题点数:20、回复次数:4Top

1 楼Cnapollo(旁痞)回复于 2006-01-26 14:02:32 得分 20

<asp:TemplateColumn>  
  <ItemTemplate>  
  <asp:CheckBox   ID="cbx1"   Runat="server"   Checked="True"   Text="aaa"></asp:CheckBox>  
  </ItemTemplate>  
  </asp:TemplateColumn>  
  Top

2 楼cctaiyang(带头大哥_OPPA)回复于 2006-01-26 14:03:46 得分 0

用模板列Top

3 楼sunnyvivi()回复于 2006-01-26 14:06:35 得分 0

恩,谢谢,我试试看哦。Top

4 楼jiaojia_qf(艺飞)回复于 2006-01-26 14:24:00 得分 0

给你一个我写的实例你看看吧  
  1、首先在DataGrid中添加一个模版列,如下:  
  <asp:datagrid   id="UserListDataGrid"   runat="server"   Width="100%"   Height="20px"   AutoGenerateColumns="False">  
  <Columns>  
  <asp:TemplateColumn>  
  <HeaderStyle   Width="12%"></HeaderStyle>  
  <ItemStyle   HorizontalAlign="Center"></ItemStyle>  
  <HeaderTemplate>  
  <asp:CheckBox   id="SelectAllCheckBox"   runat="server"   Text="全选"   AutoPostBack="True"   Font-Bold="True"></asp:CheckBox>  
  </HeaderTemplate>  
  <ItemTemplate>  
  <asp:CheckBox   id="SelectedCheckBox"   runat="server"   Font-Size="Smaller"></asp:CheckBox>  
  </ItemTemplate>  
  </asp:TemplateColumn>  
  </Columns>  
  </asp:datagrid>  
  2、添加DataGrid的ItemCreated()事件,如下:  
  if(e.Item.ItemType   ==   ListItemType.Header)  
  {  
  CheckBox   chk   =   (CheckBox)e.Item.FindControl("SelectAllCheckBox");  
  //   给页眉上的CheckBox添加出发事件  
  chk.CheckedChanged   +=new   EventHandler(chk_CheckedChanged);  
  }  
  3、添加如下过程  
  (1)、  
  private   void   chk_CheckedChanged(object   sender,   System.EventArgs   e)    
  {  
  CheckBox   chk   =   this.GetHeaderCheckBox(this.UserListDataGrid);  
  foreach   (DataGridItem   i   in   this.UserListDataGrid.Items)  
  {  
  CheckBox   inChk   =   (CheckBox)i.FindControl("SelectedCheckBox");  
  inChk.Checked   =   chk.Checked;  
  }  
  }  
  (2)、  
  //   得到指定DataGrid的题头的CheckBox对象  
  private   CheckBox   GetHeaderCheckBox(DataGrid   grd)  
  {  
  CheckBox   chk   =   null;  
  foreach   (DataGridItem   i   in   grd.Controls[0].Controls)  
  {  
  if(i.ItemType   ==   ListItemType.Header)  
  {  
  chk   =   (CheckBox)i.FindControl("SelectAllCheckBox");  
  break;  
  }  
  }  
  return   chk;  
  }  
  4、添加DataGrid的ItemDataBound()事件,初始化CheckBox  
  if(e.Item.ItemType   ==   ListItemType.Item)  
  {  
  CheckBox   ck   =   (CheckBox)e.Item.Cells[0].FindControl("SelectedCheckBox");  
  ck.Checked   =   false;  
  }  
   
  OK了,其它的东西自己可以搞定了。要得到DataGrid中某一行中的CheckBox使用下面的方法:  
  CheckBox   chk   =   (CheckBox)UserListDataGrid.Items[i].Cells[0].FindControl("SelectedCheckBox");Top

相关问题

  • datagrid里如何加入checkbox?
  • winform中,如何在DataGrid中加入CheckBox控件?并且获得选择的项?
  • 在DataGrid中加入CheckBox控间问题
  • 高分請教﹕如何在DATAGRID列中加入CHECKBOX控件﹐綁定BOOLEAN類型的字段﹖
  • 如何在CListCtrl中加入CheckBox?
  • 请问如何在JTable中加入Checkbox?
  • 如何將checkbox加入DBGRID中?
  • 如何使用DataGrid的checkbox?
  • 如何在DataGrid内加入html
  • 如何在DataGrid中加入控件!

关键词

  • datagrid
  • chk
  • checkbox
  • userlistdatagrid
  • 添加
  • findcontrol
  • checkedchanged
  • 如下
  • itemtype
  • listitemtype

得分解答快速导航

  • 帖主:sunnyvivi
  • Cnapollo

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo