ASP.NET中为DataGrid添加单选框

来源:互联网 发布:排球扣球 知乎 编辑:程序博客网 时间:2024/05/16 08:18

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

下面是HMTL 页面代码

<form id="Form1" method="post" runat="server">
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False">
<Columns>
<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:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid><br>
<asp:Button id="btnOk" runat="server" Text="确定"></asp:Button>

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

        Dim arr As New ArrayList
        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被中的函数

    Public Function GetChecked(ByVal str As StringAs String
        
If str = Request.Form("rdo"Then
            
Return "checked"
        
Else
            
Return ""
        
End If
    
End Function

 

 

原创粉丝点击