返回“ASP.NET 2.0數據教程目錄”
導言
DataList和Repeater數據分頁裡我們學習了如何在DataList裡添 加分頁功能。我們在ProductsBLL類裡創建了一個名為 GetProductsAsPagedDataSource的方法,它返回一個PagedDataSource對象。當綁 定到DataList或Repeater時,他們將只顯示請求頁的數據。這個技術和GridView ,DetailsView,FormView的內置分頁功能原理差不多。
除了分頁外, GridView還提供了內置的排序功能,而DataList和Repeater都沒有。然而排序功 能可以通過一點點代碼就實現。本章我們將學習如何在DataList和Repeater裡實 現排序功能,我們還將創建一個同時支持分頁和排序的DataList或Repeater。
回顧一下排序
如我們在分頁和排序報表數據裡看到的,GridView 提供了排序的支持。每個GridView的字段可以有一個關聯的SortExpression,它 指明了對數據進行排序依據的字段。當GridView的AllowSorting屬性設為true時 ,每個包含SortExpression 屬性的GridView的字段的header都表現為一個 LinkButton。當點一個header時,頁面postback,數據會根據被點字段的 SortExpression進行排序。另外,SortDirection屬性指明了數據是升序或降序。
當將GridView綁定到數據源控件時,它會將SortExpression和 SortDirection傳給數據源控件。數據源控件獲取數據並根據SortExpression和 SortDirection進行排序。然後將數據返回給GridView。
在DataList或 Repeater裡實現這個功能,我們需要:
創建一個排序界面
將排序 的字段和方向(升序或降序)記下
指導ObjectDataSource根據特定字段 排序
我們將在第三和四步來處理上面三個步驟。然後我們將看看如何讓 DataList或Repeater同時支持這兩個功能(分頁和排序)。