在DataGrid中添加Radio实现单选

来源:互联网 发布:默小宝的淘宝店 编辑:程序博客网 时间:2024/05/21 22:23

[b]-------------------------------------aspx页面中关键代码:[/b]

<asp:datagrid id="wzbm" tabIndex="7" Runat="server" AutoGenerateColumns="False" BorderColor="#999999" DataKeyField="OID" BackColor="#F0F0E8" Width="690px" CssClass="td1">
<AlternatingItemStyle BackColor="WhiteSmoke"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" ForeColor="Black" VerticalAlign="Middle" BackColor="LightGray"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="选择">
<HeaderStyle Width="30px"></HeaderStyle>
<ItemTemplate>
<asp:Label ID="OID_Sel" Runat="server"></asp:Label>   [b]<!--注意:这里加的是个Label -->[/b]
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn Visible="False" DataField="OID" HeaderText="OID"></asp:BoundColumn>
<asp:BoundColumn DataField="BM" HeaderText="编码">
<HeaderStyle Height="20px" Width="80px"></HeaderStyle>
</asp:BoundColumn>
......其他数据绑定

在页面的合适位置加入下面的代码。以看到执行效果
<asp:button id="Button1" runat="server" CssClass="td" Text="我已经选择好了"></asp:button>
<asp:label id="OID_Sel_Str" runat="server" Visible="False"></asp:label>

[b]-------------------------------------cs页面中关键代码:[/b]

[b]1:首先在数据绑定事件中加入下面代码:[/b]
private void wzbm_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
Label lbl = (Label)e.Item.FindControl("OID_Sel");
 lbl.Text = "<input type=radio name='OID_Group' value=" + wzbm.DataKeys[e.Item.ItemIndex].ToString() + ">";
}
}
[b]2:Button1事件触发如下:[/b]
private void Button1_Click(object sender, System.EventArgs e)
{
OID_Sel_Str.Text = Request.Form["OID_Group"];
foreach(DataGridItem a in wzbm.Items)
{
if (a.ItemType == ListItemType.AlternatingItem || a.ItemType == ListItemType.Item)
{
Label r = (Label)a.FindControl("OID_Sel");
if (r.Text.IndexOf(OID_Sel_Str.Text) > 0)
{
r.Text = "<input type=radio name='OID_Group' value=" + wzbm.DataKeys[a.ItemIndex].ToString() + " checked>";
}
else
{
r.Text = "<input type=radio name='OID_Group' value=" + wzbm.DataKeys[a.ItemIndex].ToString() + ">";
}
}
}
}

参考链接:
http://www.dotnetbips.com/displayarticle.aspx?id=147

http://dev.csdn.net/develop/article/20/20789.shtm

http://dev.csdn.net/develop/article/24/24295.shtm

http://dev.csdn.net/develop/article/28/28250.shtm

http://dev.csdn.net/develop/article/31/31059.shtm

原创粉丝点击