Visual Studio .NET - CheckBoxes in Datagrid

Asked By ninel gorbunov
13-Oct-05 01:19 PM
I have a datagrid that contains records. The first column is checkboxes. I will have a "SELECT ALL" checkbox.

As soon as you click on the "SELECT ALL" checkbox the other checkboxes get selected.

Does anyone have the code to do this? 

Thanks,
Ninel

You will need to  You will need to

13-Oct-05 01:30 PM
do this using Javascript on the client side. basically in the click event of the 'Select All' check box, use document.getElementByTagName to get all the options, then check if they belong to the Datagrid and then set their checked property to true.

You can idnetify that the chekbox belongs to the datagrid by checking the id of the checkbox. it will be something like DataGrid1__ctl3_chk1

Error occurs  Error occurs

13-Oct-05 01:51 PM
This is what I have:
[code]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
	<HEAD>
		<title>GlobalAdjustmentsLunchDelete</title>
		<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
		<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
		<meta content="JavaScript" name="vs_defaultClientScript">
		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
		<LINK href="CalendarControl.css" type="text/css" rel="stylesheet">
		<script language="javascript">
		function selectAll() 
		{
			formObj = document.Form1; 
			for (var i=0;i < formObj.length;i++) 
			{
				fldObj = formObj.elements[i];	
				if (fldObj.type == 'checkbox')
				fldObj.checked = document.Form1.grdResults__ctl2_checkAll.checked;
			}
		}	
		</script>
	</HEAD>
	<body bgColor="#ffffff">
		<script language="javascript" src="CalendarControl.js"></script>
		<form id="Form1" method="post" runat="server">
<table cellSpacing="1" cellPadding="1" width="100%" border="0">
											<TR>
												<td align="center" width="100%"><asp:datagrid id="grdResults" runat="server" Width="600px" Font-Names="Tahoma" Height="50px" Font-Size="XX-Small"
														ForeColor="Black" HorizontalAlign="Center" CellSpacing="1" BorderStyle="Solid" BorderColor="Silver" AutoGenerateColumns="False"
														CellPadding="1" PageSize="1">
														<HeaderStyle Font-Bold="True"></HeaderStyle>
														<Columns>
															<asp:TemplateColumn>
																<HeaderTemplate>
																	<input type="checkbox" ID="checkAll" runat="server" onclick="selectAll();" name="checkAll" >SELECT ALL</asp:CheckBox>
																</HeaderTemplate>
																<ItemTemplate>
																	<input type="checkbox" runat="server"></asp:CheckBox>
																</ItemTemplate>
															</asp:TemplateColumn>
															<asp:TemplateColumn>
																<HeaderTemplate>ID</HeaderTemplate>
																<ItemTemplate>
																	<asp:Label ID="itmPunchtimeId" text='<%# DataBinder.eval (Container.dataitem, "itmPunchtimeId")%>' Runat="server"></asp:Label>
																</ItemTemplate>
															</asp:TemplateColumn>
															<asp:BoundColumn DataField="sAgentId" HeaderText="AgentId"></asp:BoundColumn>
															<asp:BoundColumn DataField="sLastName" HeaderText="Last Name"></asp:BoundColumn>
															<asp:BoundColumn DataField="sFirstName" HeaderText="First Name"></asp:BoundColumn>
															<asp:BoundColumn DataField="sRawLogin" HeaderText="StartTime"></asp:BoundColumn>
															<asp:BoundColumn DataField="sRawLogout" HeaderText="EndTime"></asp:BoundColumn>
														</Columns>
													</asp:datagrid></td>
												<TD> </TD>
											</TR>
											<tr>
												<td align="center" width="100%"><asp:label id="lblResult" runat="server" Width="1000px" Font-Names="Tahoma" Font-Bold="True"
														Font-Italic="False" Font-Size="X-Small" ForeColor="Red"></asp:label></td>
											</tr>
											<tr>
												<td align="right"><asp:linkbutton id="lnkBMenu" runat="server" Font-Names="Tahoma" Font-Size="X-Small">Return to Menu</asp:linkbutton></td>
											</tr>
										</table>
[/code]

When I run it and click on the "Select All" checkbox, I receive error "Line:19 Char:5 Error:document.Form1.grdResults__ctl2_checkAll.checked' is null  or not an object"

What am I doing wrong?

Thanks,
Ninel

A sample  A sample

13-Oct-05 02:51 PM
<script language="javascript">
		function SelectAll(obj)
		{
		
			if(obj!=null)
			{
				var check=obj.checked;
			}
			
			var arr = document.getElementsByTagName("input");
			for(var i=0;i<arr.length-10;i++)
			{
				if(arr[i].id.indexOf('chk1')!=-1)
				{
					arr[i].checked=check;
				}
			}
		}
		</script>
	</HEAD>
	<body MS_POSITIONING="GridLayout">
		<form id="Form1" method="post" runat="server">
			<input type=checkbox id="test">
			<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 320px; POSITION: absolute; TOP: 128px"
				runat="server" AutoGenerateColumns=False>
				
				<Columns>
				<asp:TemplateColumn>
					<ItemTemplate>
						<asp:CheckBox ID="chk1" Runat=server></asp:CheckBox>
					</ItemTemplate>
					<HeaderTemplate>
					<asp:Label Runat=server>Select All</asp:Label>
					<asp:CheckBox ID="chkHdr" Runat=server onClick="SelectAll(this);"></asp:CheckBox>
					</HeaderTemplate>
				</asp:TemplateColumn>
				
				<asp:BoundColumn DataField="ProductName" HeaderText="Product Name"></asp:BoundColumn>
				</Columns>
			</asp:DataGrid>
		</form>
	</body>

My dataGrid is just a list of products from Northwind's products table
Create New Account
help
Visual Studio .net .NET Framework Hi NG, ich habe vor längerer Zeit mit Visual Studio .Net 2003 gearbeitet und überlege momentan auf einen neueren Stand upzudaten. Ein Visual Studio .Net 2008 scheint es nicht zu geben. Habe zumindest mit googeln nichts gefunden. Was
Wise for Visual Studio.NET Wise for Visual Studio.NET By Peter A. Bromberg, Ph.D. To "Print This Page" Link Peter Bromberg Wise for Visual Studio .NET is a total and complete installation development system for creating and editing Windows® Installer
Visual Studio versioning . . . . how to tell? .NET Framework To my knowledge, Visual studio 6 was released in 1998, then Visual Studio .NET 2002 is VS 7, then Visual Studio .NET 2003 is VS 7.1, then Visual
visual studio.net 2003 and Access 2007 database .NET Framework Hi I am currently using Visual Studio.Net 2003 running on Windows Server 2000 operating system. I have used Visual Studio.net 2003 connecting to Access 2002 databases in the pass with great success. Now
Is Visual Studio self-hosting ? .NET Framework Does Microsoft use Visual Studio IDE, Visual Studio Debugger, Visual Studio Linker and Visual Studio compiler for developing Visual Studio ? Or is Visual Studio not