
ListView Pagination with ADO	
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
Introduction
============

Pagination is the technique or the process of displaying large datasets by splitting them into multiple pages. For an instance, just imagine a situation, where a user  needs to show several thousand records from start to the end. In such situation, you can use paging technique to show limited number of records per page at a time,  where user can navigate from page to page rather than by showing all of them in one display. Proper implementation of pagination greatly increases the application  performance together with less system resource utilization.

What is ListView Pagination with ADO?
=====================================

Using a ListView (specially 5.0 ListView supporting modern visual styles) is a common and popular approach among database programmers to display information. So the    ListView pagination with ADO, can be considered to be how features of ADO are utilized to implement pagination with a ListView.

Why ListView pagination?
========================

Populating a ListView with large number of database records in the general way is a time consuming process and would not be a good UI design practice. The    implementation of Listview pagination with ADO carefully together with other database design considerations such as indexes can be used to handle fairly large    datasets with several thousands or millions of records effectively. Further, Listview pagination gives your interface a highly professional look with increased    usability.

What does this demo application demonstrate?
============================================

This is a complete demonstration application showing how to effectively use paging stuff encapsulated into a class. It primarily demonstrates the following aspects    with a dataset of hundred thousand (100,000) dummy records in a MS Access database.

 * Basic navigation operations including moving to First, Previous, Next and Last pages.
 * Specialized navigation techniques for going to a specific page or a specific record by the row number.
 * Work with different datasets
 * Work with different page sizes
 * Sorting with column headers supporting all columns
 * Retrieving paging related information including total rowset count, page count, page size, current page and its row number boundaries.

Note:
=====

 * For a better performance, try the demo application with its EXE.
 * This is a demonstration application specially targeting beginners. So some of its features are designed for demonstration purpose only.
 * The application supports for both client-side and server-side cursors. Try with each and you evaluate them with your requirement.
 * Note that the efficiency of paging related operations are considerably depends on the database design considerations such as proper indexing of relevant  fields.
 * Never think of ADO paging features with very large datasets of billings or trillions of records.  In such situations, specialized server-side paging techniques        with the database server or virtual approaches would be great.
 * Remember, showing or navigating records in large datasets is NOT a good UI design approach, where you should always TRY to limit the dataset with user inputs.
 * Finally, this is a demo at least to show how paging related stuffs are done easily and effectively with ADO. Anyone who does not need to handle large datasets, but     need to use ListView to display information can also benefit from the demo in terms of UI design to support pagination. However, if you think, this approach would      not suit for your need with the volume of data you need to handle or due to any other reason, just go for a different approach.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------   PGBSoft
pgbsoft@gmail.com
