如何在ASP.NET中为DataGrid添加单选框?

如何在ASP.NET中为DataGrid添加单选框?

使用DataGrid控件添加单选框时,如果直接在模板中加入RadioButton服务器控件,由于.Net的机制,无法将这些RadioButton在客户端出现在同一个组里面。这时我们可以使用Radio标签来实现。

下面是HMTL 页面代码

<formid="Form1"method="post"runat="server">
<asp:datagridid="DataGrid1"runat="server"AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<inputtype="radio"name="rdo"<%#GetChecked(DataBinder.Eval(Container,"DataItem"))%>value='<%#DataBinder.Eval(Container,"DataItem")%>'>
<asp:Labelrunat="server"Text='<%#DataBinder.Eval(Container,"DataItem")%>'ID="Label1">
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid><br>
<asp:Buttonid="btnOk"runat="server"Text="确定"></asp:Button>

下面是Page_Load中的数据绑定代码

DimarrAsNewArrayList
arr.Add(
"新闻综合")
arr.Add(
"综艺")
arr.Add(
"电影")
arr.Add(
"教育")
arr.Add(
"戏剧")
arr.Add(
"军事")
arr.Add(
"体育")
DataGrid1.DataSource
=arr
DataGrid1.DataBind()

下面是btnOk_Click中获取选择项的代码

Response.Write(Request.Form("rdo"))

下面是设置绑定项中哪个Radio被中的函数

PublicFunctionGetChecked(ByValstrAsString)AsString
Ifstr=Request.Form("rdo")Then
Return"checked"
Else
Return""
EndIf
EndFunction