您的位置:首页 > 编程语言 > ASP

在DataGrid中添加Radio(单选按钮)列

2004-08-21 14:34 531 查看
aspx页面:
******************************************************************
<%@ Page language="c#" Codebehind="radioonly.aspx.cs" AutoEventWireup="false" Inherits="myweb.radioonly" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>radioonly</title>
  <meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="radioonly" method="post" runat="server">
   <input id="rd" style="Z-INDEX: 103; LEFT: 195px; POSITION: absolute; TOP: 357px" type="text" name="rd" runat="server">
   <asp:datagrid id="ItemGrid" AllowPaging="True" AutoGenerateColumns="False" BorderWidth="1px" BorderColor="Black" Runat="server">
    <HeaderStyle BackColor="#00AAAA"></HeaderStyle>
    <Columns>
     <asp:TemplateColumn HeaderText="选择">
      <ItemTemplate>
       <input type=radio name=RadioName value='<%# DataBinder.Eval(Container.DataItem, "Integer")%>'>
      </ItemTemplate>
     </asp:TemplateColumn>
     <asp:BoundColumn DataField="Integer" HeaderText="数值列"></asp:BoundColumn>
     <asp:BoundColumn DataField="String" HeaderText="字符串列"></asp:BoundColumn>
     <asp:BoundColumn DataField="CurrencyValue" HeaderText="货币列" DataFormatString="{0:c}"></asp:BoundColumn>
    </Columns>
    <PagerStyle Mode="NumericPages"></PagerStyle>
   </asp:datagrid>
   <asp:button id="Btn" style="Z-INDEX: 101; LEFT: 13px; POSITION: absolute; TOP: 355px" runat="server" Text="看你选择的"></asp:button><asp:label id="Label1" style="Z-INDEX: 102; LEFT: 122px; POSITION: absolute; TOP: 357px" runat="server" Text=""></asp:label></form>
 </body>
</HTML>
******************************************************************
.aspx.cs页面:
******************************************************************
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 myweb
{
 /// <summary>
 /// radioonly 的摘要说明。
 /// </summary>
 public class radioonly : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Button Btn;
  protected System.Web.UI.WebControls.Label Label1;
  protected System.Web.UI.WebControls.DataGrid ItemGrid;
  protected System.Web.UI.HtmlControls.HtmlInputText rd;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   string js="";
   js+="<script>/r/n";
   js+="function ld(){/r/n";
   js+="for(i=0;i<document.getElementsByName('RadioName').length;i++){/r/n";
   js+="if(document.getElementsByName('RadioName').value==";
   js+="document.getElementsByName('" +rd.ClientID+ "').value){/r/n";
   js+="document.getElementsByName('RadioName')[i].Checked=true/r/n";
   js+="}/r/n";
   js+="}/r/n";
   js+="}/r/n";
   js+="window.onload=ld/r/n";
   js+="</script>";
   this.RegisterStartupScript("js",js);
   if(!this.Page.IsPostBack)
   {
    ItemGrid.DataSource=CreateDataSource();
    ItemGrid.DataBind();
   }
  }

  ICollection CreateDataSource()
  {
   DataTable dt=new DataTable();
   DataRow dr;
   dt.Columns.Add(new DataColumn("Integer",typeof(Int32)));
   dt.Columns.Add(new DataColumn("String",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;

  }

  #region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {    
   this.Btn.Click += new System.EventHandler(this.Btn_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  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>";
   }
  }
 }
}
[/i]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息