服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - gridview中实现radiobutton的单选示例

gridview中实现radiobutton的单选示例

2019-11-17 12:34ASP.NET教程网 ASP.NET教程

radiobutton可以单选,于是想让gridview也可以实现,具体的思路及代码如下,感兴趣的朋友可以参考下

c# 代码 

复制代码代码如下:


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 

if (e.Row.RowType == DataControlRowType.DataRow) 

RadioButton rb = (RadioButton)e.Row.FindControl("rbtSelect"); 
if (rb != null) 
rb.Attributes.Add("onclick", "onClientClick('" + rb.ClientID + "','" + e.Row.RowIndex + "')"); //把选中行的RowIndex也传过去,提交后在服务器端取值时用 


javascript代码 

复制代码代码如下:


<script type="text/javascript"> 
function onClientClick(selectedId, rowIndex) 

//用隐藏控件记录下选中的行号 
var hidden = document.getElementById("Hidden1").value=rowIndex; 

var inputs = document.getElementById("<%=GridView1.ClientID%>").getElementsByTagName("input"); 
for(var i=0; i <inputs.length; i++) 

if(inputs[i].type=="radio") 

if(inputs[i].id==selectedId) 
inputs[i].checked = true; 
else 
inputs[i].checked = false; 




</script> 


hmtl代码: 

复制代码代码如下:


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
Width="648px" Font-Size="9pt" onrowcommand="GridView1_RowCommand" 
DataKeyNames="id" onrowdatabound="GridView1_RowDataBound"> 
<Columns> 
<asp:TemplateField> 
<ItemTemplate> 
<asp:RadioButton ID="rbtSelect" runat="server" /> 
</ItemTemplate> 
</asp:TemplateField> 
<asp:TemplateField HeaderText="文件名"> 
<ItemTemplate> 
<asp:LinkButton runat="server" ID="lbtDirName" CommandName="Change" CommandArgument='<%#Container.DataItemIndex %>'> 
<%#Eval("AA") %> 
</asp:LinkButton> 
</ItemTemplate> 
</asp:TemplateField> 
<asp:BoundField DataField="BB" HeaderText="字段1" /> 
<asp:BoundField DataField="CC" HeaderText="字段2" /> 
<asp:BoundField DataField="DD" HeaderText="字段3" /> 
<asp:BoundField DataField="EE" HeaderText="字段4" /> 
</Columns> 
</asp:GridView> 

<input id="Hidden1" type="hidden" runat="server"/> 

延伸 · 阅读

精彩推荐