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"/>
您可能感兴趣的文章:- Android利用GridView实现单选功能
- asp.net GridView中使用RadioButton单选按钮的方法
- ASP.NET GridView中加入RadioButton不能单选的解决方案
- DataGridView中CheckBox实现某一列单选
- Gridview使用CheckBox全选与单选采用js实现同时高亮显示选择行
- js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
- asp.net 扩展GridView 增加单选按钮列的代码
- Android利用GridView实现单选效果