Pagination with DataList

As we know, DataList is the most versatile Data Bound Control available in ASP.NET. Where you can display data as per your need in your required style, direction etc.
But there is some problem also. There is no option to Paginate the Data Loaded in DataList directly. In case we have too many records, we can not display all them in One Page without paginating.To escape from this situation, Developers move to GridView, which has easy support for Paginating data.Today, we will learn How to do Pagination with DataList data in Simple steps.First create a DataList as per your requirement. I made like below which is quite simple.Pagination with DataList

Lets place Next and Previous Buttons for Navigation. Code for above design is below:

Code in ASPX Page (Design)

Now Lets to to Backend. ASPX.CS Page (Code Behind):


Now Let me Describe things happened in above code:Move to showData() function.

We created a new object of PagedDataSource. Paged data source as name stands clear, paginated data.

Now we wrote Query, Passed in Adapter, Filled DataSet which should be all clear, because it was Basic Task in ADO.NET. Now we gave it CurrentPageIndex. means where is page now.

For this, just look below to a class CurrentPageIndex which is returning value of CurentPageIndex =0 if page is beling Loaded. To check whether page is loaded or postback, we take help of ViewState. If ViewState[“pg”] == null, On Page load this will be null because it is just being initiated. On Postback it will pass the Int value stored in it to CurrentPageIndex.

We set Pagination in PagedDataSource true and Define Page size of 5 records per page.

Now Passed PagedDataSource object as Datasource of Datalist.

Now Linkbutton click events, We increased and Decreased value of CurrentPageIndex.

Hope this must be helpful to you. In case of Any problem, correction in code and help, feel free to comment below.

John Bhatt

Glad to Know, Free to Share…..



Have any Question or Comment?

Leave a Reply

Your email address will not be published. Required fields are marked *