在上一篇 DataList 與 Repeater 數據分頁 教程中,我們學習了如何為 DataList 添加分頁功能。我們在 ProductsBLL 類別中建立了 GetProductsAsPagedDataSource 方法,該方法回傳 PagedDataSource 物件。當繫結至 DataList 或 Repeater 時,它們將僅顯示請求頁面的數據。這項技術的運作原理與 GridView、DetailsView、FormView 內建的分頁功能大同小異。
除了分頁之外,GridView 還提供內建的排序功能,但 DataList 和 Repeater 卻缺乏此特性。然而,只需少量程式碼即可實現排序功能。本章將探討如何在 DataList 和 Repeater 中實作排序,並建立同時支援分頁與排序的 DataList 或 Repeater 控制項。
正如我們在 分頁與排序報表數據 中所見,GridView 提供完整的排序支援。每個 GridView 欄位可設定關聯的 SortExpression,指明排序依據的欄位。當 AllowSorting 屬性設為 true 時,擁有 SortExpression 的欄位標題將呈現為 LinkButton。點擊標題觸發回傳,數據依據該欄位的 SortExpression 進行排序。此外,SortDirection 屬性指示升冪或降冪排序。
當 GridView 繫結至數據源控制項時,會將 SortExpression 和 SortDirection 傳遞給數據源控制項。數據源控制項取得數據並依據這兩個參數排序後,再回傳給 GridView 顯示。
要在 DataList 或 Repeater 中實現同樣功能,我們需要完成三項工作:
本教程將在第 3 步與第 4 步處理上述三個步驟,隨後探討如何讓 DataList 或 Repeater 同時支援分頁與排序兩大功能。
