📄 singleselectradiobuttonindatagrid.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 + -