There are shed-loads of articles if you search on Google e.g. http://www.dotnetjunkies.com/Tutoria...B871F967F.dcik

The basic idea is that Basic Paging in ASP.NET returns all records from the datasource and then only displays the ones you want. Obviously if you have a large amount of data coming from the database it isn't very efficient. So custom paging allows you to only return the records required from the datasource. Generally this means you need to change you Data Access Layer to only return a "Page" rather than everything.

Give a shout if you have any problems.

DJ