This article has been dead for over three months
You
// ASP.NET
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="DemoWebsite.Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>RadioButton Demo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="scriptManager" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="gvAnswers" runat="server">
<Columns>
<asp:TemplateField ItemStyle-Width="20px">
<ItemTemplate>
<asp:RadioButton ID="rbAnswers" runat="server"
OnCheckedChanged="RbAnswersCheckedChanged"
AutoPostBack="true"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Label ID="label1" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
// C# code-behind
using System;
using System.Collections.Generic;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace DemoWebsite
{
public partial class Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// The data source to test against
List<string> source = new List<string>
{
"One", "Two","Three",
"Four","Five","Six",
"Seven","Eight","Nine"
};
gvAnswers.DataSource = source;
gvAnswers.DataBind();
}
}
protected void RbAnswersCheckedChanged(object sender, EventArgs e)
{
// Unchecks previously selected rows
foreach (GridViewRow oldrow in gvAnswers.Rows)
{
((RadioButton)oldrow.FindControl("rbAnswers")).Checked = false;
}
// Checks the new row
RadioButton rb = (RadioButton)sender;
GridViewRow row = (GridViewRow)rb.NamingContainer;
((RadioButton)row.FindControl("rbAnswers")).Checked = true;
}
}
}