返回“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同时支持这两个功能(分页和排序)。