PagerDataSource using a Data Source
This sample shows how to use the PagerDataSource to obtain data from a custom data source in order to populate a DataList.
In this sample we'll get the data directly from our data mapper, using a method
that retrieves all the data from the underlying table. To see an example where
we use a method that retrieves the current page only choose the sample "Paging a
Data Source (2)".
The PagerDataSource control acts as a data source and as a data
consumer. The DataList will consume the data exposed by the
PagerDataSource (the data of the current page), and the PagerDataSource will consume
the data retrieved from the data mapper.
If the PagerDataSource is not bound to a DataSourceControl, it
can not exploit the high degree of integration
obtained by using the new ASP.NET
2.0 DataSourceControls, so we have to write some code in order to provide the data
to the control.
When the PagerDataSource changes the page to show (and the first time
it executes), it will raise the PageChanged event. If the PagerDataSource
is bound to a DataSourceControl (using the DataSourceID property), it will fetch
the data from the DataSourceControl automatically. However, if the control is not
bound to a DataSourceControl, we have to provide the data, setting its DataSource
property and then calling to the DataBind method.
The source code for this page is shown after the live sample.
Product List
|
1
|
|
Product 1
|
|
Full description for product number 1
|
|
2.00 $
|
|
|
2
|
|
Product 2
|
|
Full description for product number 2
|
|
4.00 $
|
|
|
3
|
|
Product 3
|
|
Full description for product number 3
|
|
6.00 $
|
|
|
4
|
|
Product 4
|
|
Full description for product number 4
|
|
8.00 $
|
|
|
5
|
|
Product 5
|
|
Full description for product number 5
|
|
10.00 $
|
|
|
6
|
|
Product 6
|
|
Full description for product number 6
|
|
12.00 $
|
|
|
7
|
|
Product 7
|
|
Full description for product number 7
|
|
14.00 $
|
|
|
8
|
|
Product 8
|
|
Full description for product number 8
|
|
16.00 $
|
|
|
9
|
|
Product 9
|
|
Full description for product number 9
|
|
18.00 $
|
|
|
10
|
|
Product 10
|
|
Full description for product number 10
|
|
20.00 $
|
|
|
11
|
|
Product 11
|
|
Full description for product number 11
|
|
22.00 $
|
|
|
12
|
|
Product 12
|
|
Full description for product number 12
|
|
24.00 $
|
|
|
13
|
|
Product 13
|
|
Full description for product number 13
|
|
26.00 $
|
|
|
14
|
|
Product 14
|
|
Full description for product number 14
|
|
28.00 $
|
|
|