One thing that we do to reduce the round trips, is have sorting done on the webserver. I would cache the data, and then use the sort method in ADO.NET...
I just want to point out that the two posts by BobAtDBS & Keith, are not mutually exclusive. You could always have a generic get data object that will hold...