Click here to Skip to main content
6,596,602 members and growing! (22,596 online)
Email Password   helpLost your password?
Web Development » ASP.NET » Samples     Intermediate

DataGrid CheckBox Select Multiple Rows Column

By Noman Nadeem

Allow users to select multiple records from your DataGrid. "CheckAll / UnCheck All" functionality on client side.
C#, Windows, .NET 1.1, ASP.NET, VS.NET2003, Dev
Posted:11 Apr 2005
Views:145,151
Bookmarked:76 times
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
Prize winner in Competition "ASP.NET Mar 2005"
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
30 votes for this article.
Popularity: 6.79 Rating: 4.59 out of 5

1
1 vote, 3.3%
2
2 votes, 6.7%
3
5 votes, 16.7%
4
22 votes, 73.3%
5

Sample Image - dgcheckboxcolumn.jpg

Introduction

Multiple row selection in a web DataGrid is a usual requirement and the common and most elegant way to implement that is definitely using CheckBox(s). A checkbox column must of course be accompanied with a CheckAll / UnCheckAll functionality.

Outline

After searching this site, I was surprised not to find anything that suited this requirement completely. I did however find what I was looking for in different segments (acknowledged below). I decided to compile all what I needed in a reusable class / library (for reference). Following is the functionality provided:

  • Checkbox column for DataGrid.
  • CheckAll, UnCheckAll checkbox in the header without PostBack to the server.
  • Static method to register client side JavaScripts.

How to use

Download the supplied .cs file and add to your project. (If your project is in another language, create a new library project and add the supplied .cs to that project, compile the library, and attach the resulting .dll as a reference to your project).

Register a TagPrefix in your aspx page for the new column as follows:

<%@ Register TagPrefix="GridSelectCheckBox" Namespace="solCommon.Web.UI.DataGrid" 
                                                   Assembly="ProjectAssembly" %>

This is, of course, a snippet from my code, you can register any TagPrefix in your page. Should you change the namespace in the supplied .cs file, replace the Namespace attribute accordingly. The Assembly attribute must be your project/library assembly.

The next logical step is to include the column in your DataGrid. You may include the column at any location. Following adds the column at location 0, i.e. the first column:

<asp:datagrid ...>
...
    <Columns>
    <GridSelectCheckBox:DGCheckBoxColumn />
    ...
    </Columns>
...
</asp:datagrid>

Lastly, we use the exposed static method of DGCheckBoxColumn class to register client side JavaScripts for the CheckAll/UncheckAll feature. In the Page_Load method of your aspx page, add the following line:

DGCheckBoxColumn.RegisterClientCheckEvents(this,"Form1");

You should replace "Form1" with the name of the form in which your DataGrid resides.

Your DataGrid is now ready.

You can get the selected indexes or the selected DataKeys by calling one of the exposed properties, i.e. DGCheckBoxColumn.SelectedIndexes and DGCheckBoxColumn.SelectedDataKeys. Let's say, in your button click event handler you try the following:

// since we know that our column in the grid is the first one ...

DGCheckBoxColumn dgchkbxCol = (DGCheckBoxColumn)myGrid.Columns[0];

// iterate through the selection

foreach (int i in dgchkbxCol.SelectedIndexes)
{
   // do something ...

}

Acknowledgements

I must thank the following two articles as I have used much of their contents:

Usage and Copyrights

You may freely use/modify the supplied file for your own usage, as long as you retain the acknowledgements presented above. Please don't forget to rate this article. Thanks and good luck.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Noman Nadeem


Member

Occupation: Web Developer
Location: Saudi Arabia Saudi Arabia

Other popular ASP.NET articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 25 of 45 (Total in Forum: 45) (Refresh)FirstPrevNext
Generalhow to select through checkboxes? PinmemberMember 466308721:57 27 Apr '08  
GeneralHow Select a row in Data Grid Pinmemberpatelmurtuza3:14 16 Mar '07  
Questionhow can i tell what my project/library assembly is Pinmemberinsignificant7:30 15 Mar '07  
GeneralIt is not a good idea Pinmember22:56 31 Jan '07  
QuestionSpecified cast is not valid Pinmemberkrimsondon10:49 19 Dec '06  
GeneralHow to fetch info abt checked rows Pinmembermontysehra0:35 20 Nov '06  
QuestionCheck All button Does not work PinmemberStephen Noronha9:55 20 Oct '06  
AnswerRe: Check All button Does not work Pinmemberphantomvie0:21 30 Nov '07  
Generalmy problem:my datasource is a arrayList [modified] Pinmemberrengdongzwf21:28 11 Jun '06  
GeneralPaging Problem Pinmembermshariq19:07 10 Jun '06  
GeneralTo check the checkbox PinmemberOlog-hai9:43 17 May '06  
GeneralRe: To check the checkbox PinmemberTed Husted9:50 30 May '06  
GeneralRe: To check the checkbox PinmemberDonald Bittenbender12:23 17 Dec '08  
Generalcollecting information from a datagrid PinmemberJustmeNick8:15 30 Apr '06  
GeneralCheck All isn't working PinmemberBSegE6:54 12 Mar '06  
NewsProjectAssembly Cannot Load Pinmembertorome17:51 10 Mar '06  
GeneralAdding data PinmemberMiniDawg6:45 25 Jan '06  
GeneraldgchkbxCol.SelectedIndexes return empty Pinmemberlayoro17:15 5 Jan '06  
GeneralRe: dgchkbxCol.SelectedIndexes return empty PinmemberMiniDawg8:14 26 Jan '06  
JokeRe: dgchkbxCol.SelectedIndexes return empty Pinmemberlayoro15:25 26 Jan '06  
JokeRe: dgchkbxCol.SelectedIndexes return empty PinmemberMiniDawg3:50 27 Jan '06  
GeneralPage Errors...About Length Pinmemberekasal21:48 1 Dec '05  
GeneralClick the header checkbox that is not select all checkbox PinmemberVincent Tan E H1:19 24 Aug '05  
GeneralRe: Click the header checkbox that is not select all checkbox Pinmembererikwi2:08 26 Nov '05  
GeneralRe: Click the header checkbox that is not select all checkbox Pinmembererikwi2:22 26 Nov '05  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 11 Apr 2005
Editor: Sumalatha K.R.
Copyright 2005 by Noman Nadeem
Everything else Copyright © CodeProject, 1999-2009
Web22 | Advertise on the Code Project