>> "...The remaining source of hugeness turns out to be a list control that you databound to a giant list of things from the database. The database can give you paged data, but the list control doesn't really like to be given anything but the full list--even if the control only shows a subset. At this point, you can either dig into the inner workings of the list control and try to trick it into doing what you want, or you can write your own list control. Either way you have a ton of work ahead of you..."
That nicely summarizes what I experienced in frustration (and wrote about http://lexicalclosures.blogspot.com/2009/01/paging-in-aspnet...) when attempting to bind paged data to an ASP.NET GridView (list) control.
The only difference is that I used an ORM (NHibernate) and not the database to provide the paged data. It was frustrating because the GridView control just did not want to play nice if I did not play by its rules.