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

在dataGrid里添加checkbox的问题

楼主boylzm(asdf)2006-03-08 00:04:20 在 .NET技术 / ASP.NET 提问

我在在dataGrid摸版列里添加checkbox控件,我想做的是怎么才能控制用户通过checkbox来选中的记录在5条以内,各位高人快来指点啊 问题点数:100、回复次数:17Top

1 楼astra1(Hyperion)回复于 2006-03-08 00:20:38 得分 100

在5条以内?意思就是第6条不让点了?  
   
  这样做  
  模版的checkbox加上onclick事件,象这样  
  <input   onclick='return   doSelect();'   type=checkbox>  
   
   
  然后加上这个JS方法  
   
  function   doSelect()  
  {  
  var   cb=DataGrid1.getElementsByTagName("input");//假设你datagrid的ID是DataGrid1  
  var   count=0;  
  for(var   i=0;i<cb.length;i++)  
  if(cb[i].type=="checkbox"&&cb[i].checked)  
  count++;  
  if(count>5)return   false;//大于5的话不让选  
  }Top

2 楼boylzm(asdf)回复于 2006-03-08 02:06:04 得分 0

是这个意思,但可不可以用服务器代码来实现啊Top

3 楼astra1(Hyperion)回复于 2006-03-08 03:07:10 得分 0

checkbox的选择是WEB界面操作,怎么可能用服务器代码实现呢?  
   
  难道准备每选一个checkbox都提交(postback)一遍?  
   
  如果你担心安全性,可以在服务端加判断  
  但操作界面上还是得用JS实现Top

4 楼astra1(Hyperion)回复于 2006-03-08 03:18:41 得分 0

//服务器端判断代码,假设你的checkbox.name=cb  
   
  if(Request.Form.Get("cb").Split(',').Length>5)  
  {  
  //do   something  
  }Top

5 楼boylzm(asdf)回复于 2006-03-08 05:29:23 得分 0

大哥,你给我的方法,没什么作用啊,不知道是不是我没弄好。我把代码贴出来你看看  
  <HTML>  
  <HEAD>  
  <title>WebForm1</title>  
  <meta   content="Microsoft   Visual   Studio   .NET   7.1"   name="GENERATOR">  
  <meta   content="C#"   name="CODE_LANGUAGE">  
  <meta   content="JavaScript"   name="vs_defaultClientScript">  
  <meta   content="http://schemas.microsoft.com/intellisense/ie5"   name="vs_targetSchema">  
  </HEAD>  
  <body   MS_POSITIONING="GridLayout">  
                    <script   language="javascript">  
                    function   doSelect()  
  {  
  var   cb=DataGrid1.getElementsByTagName("input");//假设你datagrid的ID是DataGrid1  
  var   count=0;  
  for(var   i=0;i<cb.length;i++)  
  if(cb[i].type=="checkbox"&&cb[i].checked)  
  count++;  
  if(count>5)return   false;//大于5的话不让选  
  }  
   
                    </script>  
  <form   id="Form1"   method="post"   runat="server">  
  <FONT   face="宋体">  
  <TABLE   id="Table1"   cellSpacing="1"   cellPadding="1"   width="0"   border="1">  
  <TR>  
  <TD><asp:datagrid   id="DataGrid1"   runat="server"   Width="280px"   AutoGenerateColumns="False"   GridLines="Horizontal"  
  CellPadding="3"   BackColor="White"   BorderWidth="1px"   BorderStyle="None"   BorderColor="#E7E7FF">  
  <SelectedItemStyle   Font-Bold="True"   ForeColor="#F7F7F7"   BackColor="#738A9C"></SelectedItemStyle>  
  <AlternatingItemStyle   BackColor="#F7F7F7"></AlternatingItemStyle>  
  <ItemStyle   ForeColor="#4A3C8C"   BackColor="#E7E7FF"></ItemStyle>  
  <HeaderStyle   Font-Bold="True"   ForeColor="#F7F7F7"   BackColor="#4A3C8C"></HeaderStyle>  
  <FooterStyle   ForeColor="#4A3C8C"   BackColor="#B5C7DE"></FooterStyle>  
  <Columns>  
  <asp:TemplateColumn>  
  <ItemTemplate>  
  <input   onclick='return   doSelect();'   type=checkbox>  
  </ItemTemplate>  
  <EditItemTemplate>  
  <asp:CheckBox   id="chkExportNO"   runat="server"></asp:CheckBox>  
  </EditItemTemplate>  
  </asp:TemplateColumn>  
  <asp:BoundColumn   DataField="LastName"   HeaderText="LastName"></asp:BoundColumn>  
  <asp:BoundColumn   DataField="FirstName"   HeaderText="FirstName"></asp:BoundColumn>  
  <asp:TemplateColumn   HeaderText="City">  
  <ItemTemplate>  
  <asp:Label   id=Label1   runat="server"   Text='<%#   DataBinder.Eval(Container,   "DataItem.City")   %>'>  
  </asp:Label>  
  </ItemTemplate>  
  <EditItemTemplate>  
  <asp:TextBox   id=TextBox1   runat="server"   Text='<%#   DataBinder.Eval(Container,   "DataItem.City")   %>'>  
  </asp:TextBox>  
  </EditItemTemplate>  
  </asp:TemplateColumn>  
  </Columns>  
  <PagerStyle   HorizontalAlign="Right"   ForeColor="#4A3C8C"   BackColor="#E7E7FF"   Mode="NumericPages"></PagerStyle>  
  </asp:datagrid></TD>  
  </TR>  
  <TR>  
  <TD><asp:button   id="Button1"   runat="server"   Text="全选"></asp:button><asp:button   id="Button2"   runat="server"   Text="取得选择的项"></asp:button></TD>  
  </TR>  
  <TR>  
  <TD><asp:label   id="Msg"   runat="server"></asp:label></TD>  
  </TR>  
  </TABLE>  
  </FONT>  
  </form>  
  </body>  
  </HTML>Top

6 楼boylzm(asdf)回复于 2006-03-08 05:36:50 得分 0

好了。哥们,我弄好了。  
  现在还有个问题就是我想通过点了几个checkbox就把那几天记录的ID存到一个字符里。用你的代码你看怎么实现?Top

7 楼astra1(Hyperion)回复于 2006-03-08 16:30:32 得分 0

不太明白"存到一个字符"里是什么意思,在JS存还是在后台存  
   
  存到JS里,改一下那个方法就行  
  function   doSelect()  
  {  
  var   cb=DataGrid1.getElementsByTagName("input");  
  var   count=0;  
   
  var   buf="";//存ID用  
   
  for(var   i=0;i<cb.length;i++)  
  if(cb[i].type=="checkbox"&&cb[i].checked)  
  {count++;buf+=(buf?",":"")+cb[i].value;}  
   
  if(count>5)return   false;//大于5的话不让选  
  alert(buf);  
  }  
   
  如果后台要这个选择列表,直接用Request.Form.Get("cb")就可以Top

8 楼boylzm(asdf)回复于 2006-03-08 19:10:16 得分 0

哥们。我的问题就是想把,点checkbox那条记录的id用穿到别的页面,你过程给我的方法点完了出现一个对话框,里面是on,好象buf没有付值啊Top

9 楼boylzm(asdf)回复于 2006-03-08 19:33:47 得分 0

我的目的就是想在一个页面里有一个按钮和带checkbox的datagrid  
  一是要控制只能选5个checkbox  
  二是当点按钮的时候把选中的checbox那条记录的ID,做为参数传到另一个页面里,Top

10 楼astra1(Hyperion)回复于 2006-03-08 19:34:38 得分 0

显示ON?你的checkbox没有value属性?  
   
  最起码要把你的ID放在checkbox的value里啊,否则怎么取  
   
  <input   type=checkbox   value="记录的ID">Top

11 楼boylzm(asdf)回复于 2006-03-08 19:41:49 得分 0

他的value可以绑定数据么?用这个方法行么?  
  <input   type=checkbox   value=<%#DataBinder.Eval(Container.DataItem,"EmployeeID")%>>  
  Top

12 楼boylzm(asdf)回复于 2006-03-08 19:48:20 得分 0

哦。好了。显示出来了。但我想把buf这个值当参数,点Button的时候把他显示在Label里,这个该怎么做,您好人做到底把,谢谢Top

13 楼astra1(Hyperion)回复于 2006-03-08 19:56:00 得分 0

你的点button是指postback吧  
  建议你再改一下checkbox,加个name  
   
  <input   type=checkbox   name=cb   value=<%#DataBinder.Eval(Container.DataItem,"EmployeeID")%>>  
   
  提交后  
  Label.Text=Request.Form.Get("cb");Top

14 楼boylzm(asdf)回复于 2006-03-08 20:05:38 得分 0

恩。好了。非常感谢,接分把。我又要换ID了。高人,我真希望你能给我流个QQ!Top

15 楼astra1(Hyperion)回复于 2006-03-08 20:15:57 得分 0

都是小事  
   
  看短消息Top

16 楼bbbbcccc()回复于 2006-03-09 11:33:52 得分 0

http://valenhua.go3.icpcn.com/Top

17 楼dfkjewyoldfjkleoe()回复于 2006-03-09 22:18:17 得分 0

www.source520.com           免费免注册80G源码书籍下载Top

相关问题

  • 怎么在Datagrid里添加Checkbox(求救!!)
  • 怎样在Datagrid中添加checkbox列,并取得Datagrid里的checkbox返回值?
  • 请问在(winfrom)里,怎么把checkBox添加到dataGrid行里!
  • 百分求助: datagrid 里怎么添加checkbox 到第一列,
  • DataGrid和table里如何添加CheckBox,Dropdownlist等控件!
  • 在DataGrid如何添加一列checkbox
  • 我在DataGrid的模板列里面添加了checkbox?怎样才能获得这样checkbox的引用啊?
  • 请教:如何在 datagrid中添加checkbox控件?
  • DataGrid中添加一列(CheckBox列, 可写) 如何设置DataGridTableStyle?
  • 为DataGrid添加CheckBox控件,并实现“全选”功能

关键词

得分解答快速导航

  • 帖主:boylzm
  • astra1

相关链接

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

广告也精彩

反馈

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