Ao utilizar o controle DataGrid para adicionar botões de opção, se você adicionar o controle de servidor RadioButton diretamente no template, devido ao mecanismo do .Net, esses RadioButtons não poderão aparecer no mesmo grupo no cliente. Neste momento podemos usar a tag Radio para conseguir isso.
A seguir está o código da página HTML
<form id="Form1" method="post" runat="server">
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Colunas>
<asp:TemplateColumn>
<ItemTemplate>
<input type="radio" name="rdo" <%# GetChecked(DataBinder.Eval(Container, "DataItem")) %> value='<%# DataBinder.Eval(Container, "DataItem") %>'>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem") %>' ID="Label1">
</asp:Rótulo>
</ItemTemplate>
</asp:TemplateColumn>
</Colunas>
</asp:datagrid><br>
<asp:Button id="btnOk" runat="server" Text="OK"></asp:Button>
A seguir está o código de vinculação de dados em Page_Load
Dim arr As New ArrayList
arr.Add("Notícias Abrangentes")
arr.Add("show de variedades")
arr.Add("filme")
arr.Add("Educação")
arr.Add("Drama")
arr.Add("Militar")
arr.Add("Esportes")
DataGrid1.DataSource = arr
DataGrid1.DataBind()
A seguir está o código para obter o item selecionado em btnOk_Click
Response.Write(Request.Form("rdo"))
A seguir está a função para definir qual Rádio no item de ligação está selecionado
Public Function GetChecked(ByVal str como string) como string
Se str = Request.Form("rdo") Então
Retornar "verificado"
Outro
Retornar ""
Terminar se
Função final