⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 singleselectradiobuttonindatagrid.aspx

📁 This article helps in creating a Data Grid with radio button and allows single selection.
💻 ASPX
字号:
<%@import NameSpace="System.Text"%>
<%@ Page language="c#" AutoEventWireup="true" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
	<HEAD>
		<title>Test</title>
		<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
		<script language="JavaScript">
 <!--
		function SelectOne(rdo,gridName)
		{
			all=document.getElementsByTagName("input");// Getting an array of all the "INPUT" controls on the form.
			for(i=0;i<all.length;i++)
			{
				if(all[i].type=="radio")//Checking if it is a radio button
				{
					var count=all[i].id.indexOf(gridName+'__ctl'); //I have added '__ctl' ASP.NET adds '__ctl' to all the controls of DataGrid.
					if(count!=-1)
					{
						all[i].checked=false;
					}
				}
			}
			rdo.checked=true;// Finally making the clicked radio button CHECKED
		}
		
 //-->
		</script>
		<script language="C#" runat="server">
		
		public class Human //A Dummy class for Binding it with the DataGrid.
		{
			public int id;
			public string name;
			

			public Human(int i, string str1) //CONSTRUCTOR
			{
				id = i;
				name = str1;
			}

			public int _Id
			{
				get { return id; }
			}
			public string _Name
			{
				get { return name; }
			}
			
		}
		
		private void Page_Load(object sender, System.EventArgs e)
		{
			if(!IsPostBack)
			{
				DataBind();
			}
		}
		
		private void DataBind()
		{
			ArrayList list = new ArrayList();
				for(int i=1;i<=10;i++)
				{
					Human obj= new Human(i,"Dummy Data "+ i.ToString());
					list.Add(obj);
				}
				dg.DataSource=list;
				dg.DataBind();
		}
		
		protected void dg_onItemDataBound(object sender, DataGridItemEventArgs e)
		{
			/* This section of code deals with formating for DataGrid Rows on MouseOver and MouseOut */
			
			if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem )
			{
				e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='RoyalBlue';this.style.cursor='hand';");
				e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='White';this.style.cursor='normal';");
			}
			
			//------------------------------------------------------------------------------------------
		}
		
		protected void dg_onPageIndexChanged(object sender, DataGridPageChangedEventArgs e)
		{
			dg.CurrentPageIndex=e.NewPageIndex;
			DataBind();
		}
		</script>
	</HEAD>
	<body>
		<form id="frmMain" method="post" runat="server">
			<table width="100%">
				<tr>
					<td align="center"><b><u>DATAGRID WITH RADIO BUTTON AND SINGLE SELECTION</u></b></td>
				</tr>
				<tr>
					<td align="center">
						<asp:DataGrid Runat="server" ID="dg" AutoGenerateColumns="False" BorderColor="#CC9966" BorderStyle="None"
							BorderWidth="1px" BackColor="White" CellPadding="4" OnItemDataBound="dg_onItemDataBound" OnPageIndexChanged="dg_onPageIndexChanged"
							PageSize="5" AllowPaging="True" GridLines="None" Width="25%">
							<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
							<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
							<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
							<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
							<Columns>
								<asp:TemplateColumn>
									<ItemTemplate>
										<input type="radio" runat="server" id="rdo" onclick="SelectOne(this,'dg')" VALUE="rdo" />
									</ItemTemplate>
								</asp:TemplateColumn>
								<asp:BoundColumn DataField="_Id" HeaderText="Id"></asp:BoundColumn>
								<asp:BoundColumn DataField="_Name" HeaderText="Name"></asp:BoundColumn>
							</Columns>
							<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
						</asp:DataGrid>
					</td>
				</tr>
			</table>
		</form>
	</body>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -