解决在DataGrid等里面使用不了group RadioButtons问题的控件介绍

通常我们想在DataGrid,DataList, Repeater等里面做单选的效果,比如我在做考核系统时就想在每条题目后面跟着几个选择的答案和几个单选框,但是...其实是做不了的,即使你名了GroupName...

例子:
Group RadioButtons控件介绍<!-- Countries for selection -->
Group RadioButtons控件介绍
<asp:DataGrid id="countriesGrid" runat="server" 
Group RadioButtons控件介绍DataKeyField
="ID" AutoGenerateColumns="False">
Group RadioButtons控件介绍
<Columns>
Group RadioButtons控件介绍
<asp:TemplateColumn>
Group RadioButtons控件介绍
<ItemTemplate>
Group RadioButtons控件介绍
<!-- 
Group RadioButtons控件介绍Draw attention at this control. 
Group RadioButtons控件介绍We would like to use radio-buttons to
Group RadioButtons控件介绍select single country from the list.
Group RadioButtons控件介绍
-->
Group RadioButtons控件介绍
<asp:RadioButton id="selectRadioButton" 
Group RadioButtons控件介绍runat
="server" GroupName="country" />
Group RadioButtons控件介绍
</ItemTemplate>
Group RadioButtons控件介绍
</asp:TemplateColumn>
Group RadioButtons控件介绍
<asp:BoundColumn DataField="Country" HeaderText="Country" 
Group RadioButtons控件介绍HeaderStyle-Font-Bold
="True" />
Group RadioButtons控件介绍
<asp:BoundColumn DataField="Capital" HeaderText="Capital" 
Group RadioButtons控件介绍HeaderStyle-Font-Bold
="True" />
Group RadioButtons控件介绍
</Columns>
Group RadioButtons控件介绍
</asp:DataGrid>

运行的效果是:你按了一个,还可以按第二个,第三个...呵呵,我们来看看它的源代码:
Group RadioButtons控件介绍<!-- Countries for selection -->
Group RadioButtons控件介绍
<table cellspacing="0" rules="all" border="1" id="countriesGrid" 
Group RadioButtons控件介绍style
="border-collapse:collapse;">
Group RadioButtons控件介绍
<tr>
Group RadioButtons控件介绍
<td> </td>
Group RadioButtons控件介绍
<td style="font-weight:bold;">Country</td>
Group RadioButtons控件介绍
<td style="font-weight:bold;">Capital</td>
Group RadioButtons控件介绍
</tr>
Group RadioButtons控件介绍
<tr>
Group RadioButtons控件介绍
<td><input id="countriesGrid__ctl2_selectRadioButton" 
Group RadioButtons控件介绍type
="radio" <B>name="countriesGrid:_ctl2:country"</B> 
Group RadioButtons控件介绍value="selectRadioButton" />
</td>
Group RadioButtons控件介绍
<td>USA</td>
Group RadioButtons控件介绍
<td>Washington</td>
Group RadioButtons控件介绍
</tr>
Group RadioButtons控件介绍
<tr>
Group RadioButtons控件介绍
<td><input id="countriesGrid__ctl3_selectRadioButton" 
Group RadioButtons控件介绍type
="radio" <B>name="countriesGrid:_ctl3:country"</B> 
Group RadioButtons控件介绍value="selectRadioButton" />
</td>
Group RadioButtons控件介绍
<td>Canada</td>
Group RadioButtons控件介绍
<td>Ottawa</td>
Group RadioButtons控件介绍
</tr>
Group RadioButtons控件介绍
<!-- etc. -->

你可以看到"name"的值是不同的,当然你就不可能实现单选的效果.

有人为了解决这个问题,写了个控件,可以解决这个问题...

拉出控件后,html的内容:
 
Group RadioButtons控件介绍Assembly="GroupRadioButton" %>
Group RadioButtons控件介绍
<!-- Countries for selection -->
Group RadioButtons控件介绍
<asp:DataGrid id="countriesGrid" runat="server" DataKeyField="ID" 
Group RadioButtons控件介绍AutoGenerateColumns
="False">
Group RadioButtons控件介绍
<Columns>
Group RadioButtons控件介绍
<asp:TemplateColumn>
Group RadioButtons控件介绍
<ItemTemplate>
Group RadioButtons控件介绍
<B><vs:GroupRadioButton id="selectRadioButton" 
Group RadioButtons控件介绍runat
="server" GroupName="country" /></B>
Group RadioButtons控件介绍
</ItemTemplate>
Group RadioButtons控件介绍
</asp:TemplateColumn>
Group RadioButtons控件介绍
<asp:BoundColumn DataField="Country" HeaderText="Country" 
Group RadioButtons控件介绍HeaderStyle-Font-Bold
="True" />
Group RadioButtons控件介绍
<asp:BoundColumn DataField="Capital" HeaderText="Capital" 
Group RadioButtons控件介绍HeaderStyle-Font-Bold
="True" />
Group RadioButtons控件介绍
</Columns>
Group RadioButtons控件介绍
</asp:DataGrid>

Group RadioButtons控件模版下载:http://www.my35.net/forum/images/upfile/20041017214320.zip
Group RadioButtons控件源码下载:http://www.my35.net/forum/images/upfile/20041017214338.zip

相关文章:

  • 2021-11-05
  • 2021-12-09
  • 2021-05-15
  • 2022-01-16
  • 2021-09-14
  • 2021-05-13
  • 2021-11-16
猜你喜欢
  • 2022-01-11
  • 2021-06-21
  • 2022-12-23
  • 2021-10-01
  • 2021-12-18
  • 2022-01-23
相关资源
相似解决方案