<% @ Page language = " c# " Codebehind = " DataGrid加单选框.aspx.cs " AutoEventWireup = " false " Inherits = " bsTest2005_8_16.Samples.DataGrid加单选框 " %> <! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.0 Transitional//EN " > < HTML > < body > < form runat = " server " id = " MM " > < input type = " hidden " id = " rd " runat = " server " NAME = " rd " > < asp:DataGrid id = " ItemsGrid " runat = " server " BorderColor = " black " BorderWidth = " 1 " CellPadding = " 3 " AllowPaging = " true " AutoGenerateColumns = " false " > < 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 = " 看你选择的 " runat = " server " /> < asp:Label id = " Label1 " Text = "" runat = " server " /> </ form > </ body > </ HTML > ******************************************************* using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace bsTest2005_8_16.Samples ... {/**//// <summary>/// DataGrid加单选框 的摘要说明。/// </summary>public class DataGrid加单选框 : System.Web.UI.Page...{ protected System.Web.UI.WebControls.DataGrid ItemsGrid; protected System.Web.UI.WebControls.Button Btn; protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.HtmlControls.HtmlInputHidden rd; private void Page_Load(object sender, System.EventArgs e)...{// 在此处放置用户代码以初始化页面 System.Text.StringBuilder js = new System.Text.StringBuilder(); js.Append("<script> "); js.Append("function ld(){ "); js.Append("for(i=0;i<document.getElementsByName('RadioName').length;i++) "); js.Append("if(document.getElementsByName('RadioName')[i].value=="); js.Append("document.getElementById('" + rd.ClientID + "').value) "); js.Append("document.getElementsByName('RadioName')[i].checked=true "); js.Append("} "); js.Append("window.οnlοad=ld "); js.Append("</"+"script> "); this.RegisterStartupScript("js",js.ToString()); if (!IsPostBack) ...{ ItemsGrid.DataSource = CreateDataSource(); ItemsGrid.DataBind(); } } private DataView CreateDataSource() ...{ DataTable dt = new DataTable(); DataRow dr; 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.ToString(); dr[2] = 1.23 * (i+1); dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } private void Btn_Click(object sender, System.EventArgs e) ...{ if(Request.Form["RadioName"] != null) ...{ rd.Value = Request.Form["RadioName"].ToString(); Label1.Text = "您所选择的是:<font color=red>" + Request.Form["RadioName"].ToString() +"</font>"; } } private void ItemsGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) ...{ ItemsGrid.CurrentPageIndex = e.NewPageIndex; ItemsGrid.DataSource = CreateDataSource(); ItemsGrid.DataBind(); }Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码override protected void OnInit(EventArgs e)...{//// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}/**//// <summary>/// 设计器支持所需的方法 - 不要使用代码编辑器修改/// 此方法的内容。/// </summary>private void InitializeComponent()...{ this.ItemsGrid.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.ItemsGrid_PageIndexChanged); this.Btn.Click += new System.EventHandler(this.Btn_Click); this.Load += new System.EventHandler(this.Page_Load); }#endregion }}