如何在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>
<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()
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
Ifstr=Request.Form("rdo")Then
Return"checked"
Else
Return""
EndIf
EndFunction