2.11. Combining Sorting and Paging in a DataGrid
Problem
You are implementing a DataGrid
with sorting and pagination, and you are having trouble making the two features work together.
Solution
Enable the sorting features of the DataGrid
control, and add custom code to support the sorting along with an indication of the current sort column and order (see Recipe 2.10 for details). Next, with pagination enabled, add a small amount of custom code to track the sort column and order so they can be maintained between client round trips and used any time rebinding is required. Figure 2-12 shows a typical DataGrid
with this solution implemented. Examples 2-29, 2-30 through 2-31 show the .aspx file and code-behind files for an application that produces this output.
Figure 2-12. Combining sorting and paging in a DataGrid output
Discussion
Getting sorting and paging to work at the same time is a notorious problem with a DataGrid
. The key to making it all work is to track the sort column and order so they can be used any time rebinding is required, whether because of a page change or a sort command. Likewise, it is useful to put the sort column and order data in the view state so they are properly maintained between client round trips.
The DataGrid
provides the basic plumbing for sorting and paging the data displayed in the grid. The DataGrid
provides a property (CurrentPageIndex)
that is always available ...
Get ASP.NET 2.0 Cookbook, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.