首先鄙视下dudu:不管你是什么文章,如果你加上一句:恳请dudu能够让我在首页挂一天,那么这文章就不会被dudu撤下来的,但是如果你没加,那不好意思,dudu的大刀就会向你举起!这是典型的顺风耳!

这段时间一直为网站的事醉心于代码,除了每天早晨给出交易信号外,基本上没有关注过行情了.但代码仅是我的爱好而已,操盘才是我的正业,趁现在心思还没有完全转到操盘上面来,把这个项目我整理的一些代码记下来,有点意义的就是如何给GridView加入单选按钮了.
在网上查阅了一些文章,无非就是:
1,放一个html单选控件:<input type="radio"...
2,放一个RadioButtonList;

这两种方法都有弊端;第一种如果我们要在后台取radiobutton的值就显得很麻烦,第二种会让我们不好布局,但是大家知道,如果仅仅是在GridView里面加入RadioButton,我们就实现不了单选,后面查阅了一老外的文章,找到了一种自认为比较好的方法,实现思路是:在后台给radiobutton加入个onclick属性,在前台当用户单击这个单选按钮的时候用js去遍历,取消其他单选的选择,下面是配合一个投票系统的代码,这个投票系统能够在后台自动生成是单选还是复选按钮,最后面的是一个实例.demo请见:http://www.yinuof.com/topiccontent.aspx?id=135&class=5

 1<asp:Panel ID="literalVote" runat="server" Visible="false"> 
 2                 <asp:GridView ID="gridVote" runat="server" AutoGenerateColumns="False" BackColor="#B6C9E7" CssClass="tableBack" CellPadding="3" CellSpacing="1" ShowHeader="False" Width="100%" DataKeyNames="this_id,vote_type,this_title" OnRowDataBound="gridVote_RowDataBound"> 
 3                     <Columns> 
 4                         <asp:TemplateField> 
 5                            <ItemTemplate> 
 6                               <asp:PlaceHolder ID="placeVote" runat="server" /> 
 7                            </ItemTemplate> 
 8                             <ItemStyle BackColor="White" /> 
 9                         </asp:TemplateField> 
10                         <asp:TemplateField> 
11                            <ItemTemplate> 
12                               <asp:Image ID="voteImage" Runat="server" Height="8px" Width='<%# FormatImage(Convert.ToInt32(Eval("vote_num").ToString())) %>' ImageUrl="img/bar2.gif"></asp:Image><%#Eval("vote_num") %> 
13                            </ItemTemplate> 
14                             <ItemStyle Width="50%" BackColor="White" /> 
15                         </asp:TemplateField> 
16                     </Columns> 
17                 </asp:GridView> 
18                 <div style="margin-top:5px;font-size:12px;color:#000000;"> 
19                    <asp:Button UseSubmitBehavior="false" Text="我要投票" ID="buttonVote" runat="server" OnClick="buttonVote_Click" />&nbsp;【截至时间:<asp:Literal ID="literalTimeout" runat="server" />&nbsp;|&nbsp;<a href='voteuser.aspx?id=<%=Request.QueryString["id"] %>' class="aTitle" target="_blank">查看投票用户</a>】 
20                 </div> 
21             </asp:Panel>

js代码:

 1<script language="javascript">            function SetUniqueRadioButton(nameregex, current) 
 2            
 3               re = new RegExp(nameregex); 
 4               for(i = 0; i < document.forms[0].elements.length; i++) 
 5               
 6                  elm = document.forms[0].elements[i] 
 7                  if (elm.type == 'radio') 
 8                  
 9                     if (re.test(elm.name)) 
10                     
11                        elm.checked = false; 
12                     } 
13                  } 
14               } 
15               current.checked = true; 
16            } 
17         </script>

后台代码:

protected void gridVote_RowDataBound(object sender, GridViewRowEventArgs e) 
    
        PlaceHolder place = (PlaceHolder)e.Row.FindControl("placeVote"); 
        if (place != null) 
        
            if (gridVote.DataKeys[e.Row.RowIndex].Values["vote_type"].ToString().ToLower() == "false") 
            {  
               //单选 
                RadioButton radioVote = new RadioButton(); 
                radioVote.ID = "radioVote"; 
                string script = "SetUniqueRadioButton('gridVote.*Vote',this)"; 
                radioVote.Attributes.Add("onclick",script); 
                //绑定数据 
                //BindItemData(radioVote, Int32.Parse(gridVote.DataKeys[e.Row.RowIndex].Values["this_id"].ToString())); 
                radioVote.Text = gridVote.DataKeys[e.Row.RowIndex].Values["this_title"].ToString(); 
                place.Controls.Add(radioVote); 
                
            } 
            if (gridVote.DataKeys[e.Row.RowIndex].Values["vote_type"].ToString().ToLower() == "true") 
            
               //多选 
                CheckBox checkVote = new CheckBox(); 
                checkVote.ID = "checkVote"; 
                checkVote.Text = gridVote.DataKeys[e.Row.RowIndex].Values["this_title"].ToString(); 
                place.Controls.Add(checkVote); 
            } 
        } 
    }

转载于:https://www.cnblogs.com/pwqzc/archive/2007/07/17/820728.html

在GridView中加入单选按钮RadioButton相关推荐

  1. GridView中实现单选RadioButton

    GridView中实现单选RadioButton   注意:若在gridview内对radiobutton用组名groupname同名方法行不同,若加上GroupName="skytest& ...

  2. GridView中的RadioButton列之间不能互斥

    GridView中的RadioButton列与CheckBox列 GridView拥有大量的内置功能,可以使用不同的默认filed来放置显示诸如TextBox.Buttos等等控件,支持模板是Grid ...

  3. Gridview导出到Excel,Gridview中的各类控件,Gridview中删除记录的处理

    Asp.net 2.0中新增的gridview控件,是十分强大的数据展示控件,在前面的系列文章里,分别展示了其中很多的基本用法和技巧(详见< ASP.NET 2.0中Gridview控件高级技巧 ...

  4. 在GridView里做单选按钮,总结了三种方法

    在GridView里做单选按钮,总结了三种方法 第一种方法:在GridView的模版列里加服务器端控件RadioButton,使用js控制单选 <p>使用模版列里加RadioButton& ...

  5. matlab 按钮组设置,MATLAB中的单选按钮和按钮组

    MATLAB GUI中的单选按钮和按钮组 matlabGUI界面中的单选(radiobutton)按钮不提供互斥功能,要通过程序实现. 方法一: 假设有3个radiobutton,分别为radiobu ...

  6. 单选按钮_PerlTk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton(附完整代码)...

    <Perl-Tk教程之按钮Button.复选按钮Checkbutton.单选按钮Radiobutton>Perl-Tk中有三种不同形式的按钮组件可供选择,它们分别是按钮(Button), ...

  7. 单选按钮RadioButton使用

    1.单选按钮使用 在默认情况先,单选按钮显示为一个圆形图标,并且在该图标旁边放置一些说明性文字.在程序中,一般将多个单选按钮放置在按钮组里面,使用这些按钮表现出来某些功能,当用户选中某个单选按钮后,按 ...

  8. Android Studio基础单选按钮RadioButton

    Android Studio基础单选按钮RadioButton 1.单选按钮RadioButton:多个只能选择一个,必须结合RadioGroup控件使用,才能实现单选的特性. 第一种情况:没有结合R ...

  9. 【Android】-- 按钮(复选框CheckBox、开关按钮Switch、单选按钮RadioButton)

    CompoundButton在XML文件中主要使用下面两个属性. checked:指定按钮的勾选状态,true表示勾选,false则表示未勾选,默认为未勾选. button:指定左侧勾选图标的图形资源 ...

最新文章

  1. 疫情影响全景图:疫情对各行业短中期影响!
  2. xutils设置能够使webview接受第三方cookie,版本低于api21如何设置
  3. kmeans python interation flag_Python / Scipy Integration数组
  4. SQL Server2016 原生支持JSON
  5. offsetLeft 、offsetWidth、scrollHeight等的区别
  6. 创新学习对象1-陕西省网络与系统安全重点实验室研究员的李光夏老师
  7. InfoComm China 2016“全球新产品发布活动” —— 汇聚众多革新设备及技术
  8. 致我们曾经白嫖的网站
  9. 转载:JAVA获取时间戳,哪个更快
  10. 基于Qt搭建ROS开发环境
  11. 职场中几个最忌讳的行为模式。
  12. python入门爬虫案例_[Python入门学习]-爬虫项目案例讲解
  13. [C#][Quartz]帮助类
  14. DPDK Release 20.05
  15. 博士申请 | 新西兰梅西大学王睿俐教授招收语音识别和NLP方向全奖博士生
  16. 小猿圈之Linux常见的发行版本
  17. 【lphtw】第三弹笔记ex24-ex35
  18. CyanogenMod
  19. 在 MS Excel 中做t-test时 Hypothesized Mean Difference 是什么意思
  20. ABP 代理JS 生成

热门文章

  1. java socket 实现 http_Java Socket编程 - 基于Socket实现HTTP下载客户端
  2. php webwxuploadmedia_PHP Web实现文件上传下载功能实例解析
  3. python开发程序员应该知道的面试技巧和注意事项
  4. 前端,到底什么来路?
  5. 这有8个小秘诀,让你更懂CSS!
  6. 20个很有帮助的 Web 前端开发教程
  7. 「译文」你必须掌握的 7 种 JavaScript 错误类型
  8. 商品进销差价_商品进销差价如何核算?
  9. 如何优化java反射,如何有效地使用Java反射
  10. r语言mfrow全程_如何使用R完成文章中图片处理小教程