解决radiobutton在gridview中无法单选的一种方法
2024-10-06 20:34:37
最近在项目中有个单选gridview中某一项的需求,使用radiobutton后发现,虽然最终选择出来的是一项,但是在页面上却可以选择多项,经过查看生成的html代码,发现生成的radio的name属性并不一样,即使已经加了groupname。解决方法代码如下
页面代码:
<asp:GridView ID="SmartGridView1" runat="server" AutoGenerateColumns="False"
PageSize="" AllowPaging="true" DataSourceID="SmartDataSource1" DataKeyNames="DecisionItemID" onrowdatabound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="选择" ItemStyle-Width="5px" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:RadioButton runat="server" GroupName="SelDecision" ID="cbSel" key='<%#Eval("DecisionItemID") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField DataField="SerialNumber" HeaderText="决策事项编号" ItemStyle-Width="80px"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="DecisionMakingMatters" HeaderText="决策事项" ItemStyle-Width="300px"/> </Columns>
</asp:GridView>
js代码
function onClientClick(selectedId, rowIndex) {
var inputs = document.getElementById("<%=SmartGridView1.ClientID%>").getElementsByTagName("input");
for (var i = ; i < inputs.length; i++) {
if (inputs[i].type == "radio") {
if (inputs[i].id == selectedId)
inputs[i].checked = true;
else
inputs[i].checked = false;
}
}
}
后台代码
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
RadioButton rb = (RadioButton)e.Row.FindControl("cbSel");
if (rb != null)
rb.Attributes.Add("onclick", "onClientClick('" + rb.ClientID + "','" + e.Row.RowIndex + "')");
}
}
最新文章
- TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
- jQuery的input 失去焦点之后,不能再获取到焦点
- oracle 查询周的第一天日期
- 个人阅读作业——M1/M2总结
- [NYIST16]矩形嵌套(DP,最长上升子序列)
- MyBatis之六:缓存
- C++Primer笔记二
- 排序算法门外汉理解-Shell排序
- jsp想js,action传值
- 201521123049 《JAVA程序设计》 第1周学习总结
- UVa12563- Jin Ge Jin Qu hao
- 配置 Tomcat 以服务方式自动运行
- Java8 Stream实例--统计出所有含‘张’字的人员的平均年龄
- Python 实现简易 Shell
- springmvc与fastjson的整合,注解@RequestBody的使用
- vuex的学习例子
- 怎样导入现有的NiosII工程
- localStorage/cookie 用法分析与简单封装
- cmake和make区别
- Hugepages,hugetlb_shm_group与ORA-27125