第一个办法
在模板列中放一个RadioButtonList
datagrid绑定数据后,用下面代码处理一下即可
第二个办法
使用DataGrid控件添加单选框时,如果直接在模板中加入RadioButton服务器控件,由于.Net的机制,无法将这些RadioButton在客户端出目前同一个组里面。这时我们能使用Radio标签来实现。
下面是HMTL 页面代码
下面是Page_Load中的数据绑定代码
下面是btnOk_Click中获取选择项的代码
下面是设置绑定项中哪个Radio被中的函数
黑色头发:http://heisetoufa.iteye.com/
在模板列中放一个RadioButtonList
datagrid绑定数据后,用下面代码处理一下即可
for (int i = 0; i < gridid.Items.Count; ++i)
{
ListItem aa = new ListItem("", "");
RadioButtonList rbtnlist = new RadioButtonList();
rbtnlist = (RadioButtonList)gridid.Items[0].Cells[0].FindControl("sel_1");
rbtnlist.Items.Add(aa);
}
gridid.Items[0].Cells[0].RowSpan = gridid.Items.Count;
for (int i = 1; i < gridid.Items.Count; ++i)
{
gridid.Items[i].Cells[0].Visible = false;
}
第二个办法
使用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 String) As String
If str = Request.Form("rdo") Then
Return "checked"
Else
Return ""
End If
End Function
黑色头发:http://heisetoufa.iteye.com/