Shopping Cart(0)
|
Lightbox(0)
|
Login
ASP.Net Primer
Submit an Article
Web Hosting
Stock Photos
Add Paging to an ASP.Net DataList
ASP.Net Primer
Web Application Vs Web Site
Web Site Techniques
Interface Techniques
DataSource Overview
Create a DAL for an ODS
Advanced ObjectDataSource
Adventures in .net Paging
Add Paging to a DataList
Repeater PagedDataSource
Advanced ObjectDataSource
SQL Server Primer
Apply
Common Functions
Cast
Convert
Date Functions
Null Functions
Lower & Upper
Except
Intersect
Pivot
RowNumber & Rank
Software Primer
XML Overview
Name Your Site
Syndicate With RSS
Web Design - Get a Spine!
Security: What Hackers Do
Intro To PHP
CGI: What & How?
Web Marketing
Start a Traffic Virus
Add Paging to an ASP.Net DataList
ASP.Net tutorial by Barbie Hocking ©2010
Next Page
The ASP.Net DataList display format is defined via templates. This provides flexibility in the layout and eliminates the 'column' restriction of a gridview. Additionally, DataLists allow you to repeat the template display. Paging must be manually implemented. This Visual Studio tutorial contains instructions on how to implement paging within a DataList.
The SQL access paging method used in this tutorial returns only the rows that display on each page. This is a good method to use when the resultset is too large to keep in cache or when complex queries result in slow performance. This example uses a DataList, but the same technique can be used for any data bound control.
If you have a small resultset, you can use the technique in the
Add Paging to a Repeater
tutorial. That lesson utilizes the PagedDataSource class which encapsulates the paging-related properties of a data-bound control.
C# Sample Code
1.
Download
and install the Northwind database. Create this stored procedure.
create PROCEDURE [dbo].[GetSalesByCategoryWithPaging]
@startRowIndex INT,
@maximumRows INT,
@SalesCategoryCnt INT OUTPUT
AS
BEGIN
SELECT @SalesCategoryCnt=(SELECT COUNT(*) FROM
(SELECT C.CategoryName, ProductName
FROM [Order Details] OD
inner join Orders O on O.OrderID = OD.OrderID
inner join Products P on P.ProductID = OD.ProductID
inner join Categories C on C.CategoryID = P.CategoryID
GROUP BY C.CategoryName, ProductName) as salesCategoryCnt );
Declare @currRowIndex INT;
set @currRowIndex = (@startRowIndex * @maximumRows) + 1;
With SalesEntries as
(SELECT ROW_NUMBER() OVER (ORDER BY C.CategoryName ASC) as Row,
C.CategoryName,
ProductName,
TotalPurchase=ROUND(SUM(CONVERT(decimal(14,2),
OD.Quantity * (1-OD.Discount) * OD.UnitPrice)), 0)
FROM [Order Details] OD
inner join Orders O on O.OrderID = OD.OrderID
inner join Products P on P.ProductID = OD.ProductID
inner join Categories C on C.CategoryID = P.CategoryID
GROUP BY C.CategoryName, ProductName )
Select * FROM SalesEntries
WHERE Row between @currRowIndex and @currRowIndex+@maximumRows-1
order by CategoryName asc
END
2.
In Solution Explorer, create an App_Code folder. Right click on the App_Code folder and select "Add New Item". Select "Add Dataset".
2.
Right click on Dataset Designer and select "Add->Table Adapter".
3.
Select a data connection. If you already have a connection string defined in your web.config, select that connection.
4.
Select "Use existing stored procedure" in the "Choose a Command Type" dialog.
5.
Select the
GetSalesByCategoryWithPaging
stored procedure that was created in step-1.
6.
Select "Return a DataTable in the "Choose Methods to Generate" dialog. Name the method
GetSalesByCategoryWithPaging
.
7.
Select "Finish" on the "Choose Methods to Generate" dialog. This data table should be created.
Next Page
Powered by
www.ezjooz.com