<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default12.aspx.cs" Inherits="Default12" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>为DataGrid列添加Radio(单选框)列</title></head><body> <form runat="server" id=MM> <input type="hidden" id=rd runat=server/> <asp:DataGrid id="ItemsGrid" runat="server" BorderColor="black" BorderWidth="1" CellPadding="3" AllowPaging="true" AutoGenerateColumns="false" OnPageIndexChanged="Grid_Change"> <HeaderStyle BackColor="#00aaaa"> </HeaderStyle> <PagerStyle Mode="NumericPages"> </PagerStyle> <Columns> <asp:TemplateColumn> <ItemTemplate> <input type=radio name="RadioName" value='<%# DataBinder.Eval(Container.DataItem, "IntegerValue")%>'/> </ItemTemplate> </asp:TemplateColumn> <asp:BoundColumn HeaderText="数字列" DataField="IntegerValue"/> <asp:BoundColumn HeaderText="字符串列" DataField="StringValue"/> <asp:BoundColumn HeaderText="货币列" DataField="CurrencyValue" DataFormatString="{0:c}"> <ItemStyle HorizontalAlign="right"> </ItemStyle> </asp:BoundColumn> </Columns> </asp:DataGrid> <br> <asp:Button id="Btn" Text="看你选择的" OnClick="btnClick" runat="server"/> <asp:Label id="Label1" Text="" runat="server"/> </form></body></html> using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class Default12 : System.Web.UI.Page...{ ICollection CreateDataSource() ...{ DataTable dt = new DataTable(); DataRow dr = null; dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(string))); dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double))); for (int i = 0; i < 101; i++) ...{ dr = dt.NewRow(); dr[0] = i; dr[1] = "Item " + (i + 1); dr[2] = 1.23 * (i + 1); dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } protected void Page_Load(object sender, EventArgs e) ...{ string js = ""; js += "<script> "; js += "function ld(){ "; js += "for(i=0;i<document.getElementsByName('RadioName').length;i++) "; js += "if(document.getElementsByName('RadioName')[i].value=="; js += "document.getElementById('" + rd.ClientID + "').value) "; js += "document.getElementsByName('RadioName')[i].checked=true "; js += "} "; js += "window.onload=ld "; js += "</" + "script> "; this.RegisterStartupScript("js", js); if (!IsPostBack) ...{ ItemsGrid.DataSource = CreateDataSource(); ItemsGrid.DataBind(); } } protected void Grid_Change(object source, DataGridPageChangedEventArgs e) ...{ ItemsGrid.CurrentPageIndex = e.NewPageIndex; ItemsGrid.DataSource = CreateDataSource(); ItemsGrid.DataBind(); } protected void btnClick(object sender, EventArgs e) ...{ if (Request.Form["RadioName"] != null) ...{ rd.Value = Request.Form["RadioName"].ToString(); Label1.Text = "您所选择的是:<font color=red>" + Request.Form["RadioName"].ToString() + "</font>"; } }}