ASP.NET 2.0数据教程之二十七:创建自定义排序用户界面

返回“ASP.NET 2.0数据教程目录”

显示大量已经按类别(不是很多)排序的数据但没有类别分界线,用户很难找到 所需要的类别。例如,数据库中只有9个类别(8个不同的类别和1个null),共81 种产品.现在用一个GridView列出所有产品,假设有用户对类别Seafood的产品感 兴趣,她一定会按类别排序,把Seafood产品排列在一起.排序后,用户便寻找 Seafood产品开始和结束的地方。虽然是按英文字母排列类别不难找到Seafood,但 仍要花些时间在GridView寻找。为了进一步的区分类别,许多网站使用类别分界 线这种排序用户界面来区别不同的类别。例如像图1中的分界线可以使用户很快地 找到需要的类别。


图1:不同组明显的区分开来

在这篇文章中我们将讲解如何创建 这种排序用户界面.

步骤1:创建一个普通的,能够排序的GridView

在我 们学习如何创建增强型排序用户界面之前,先创建一个普通的列出所有产品 GridView并且能够排序.现在打PagingAndSorting文件夹下的 CustomSortingUI.aspx,添加一个GridView,设置ID="ProductList",以 一个ObjectDataSource为数据源,ObjectDataSource的数据从ProductsBLL类的 GetProducts()取得。

接下来设置GridView的列,包括ProductName, CategoryName, SupplierName, UnitPrice绑定列和Discontinued复选框列,再设 置GridView允许排序。设置完这些以后你应该可以在代码编辑看到下面这些代 码:

<asp:GridView ID="ProductList" runat="server" AllowSorting="True" AutoGenerateColumns="False"
   DataKeyNames="ProductID" DataSourceID="ObjectDataSource1" EnableViewState="False">
  <Columns>
     <asp:BoundField DataField="ProductName" HeaderText="Product" SortExpression="ProductName" />
    <asp:BoundField DataField="CategoryName" HeaderText="Category" ReadOnly="True" SortExpression="CategoryName" />
    <asp:BoundField DataField="SupplierName" HeaderText="Supplier" ReadOnly="True" SortExpression="SupplierName" />
    <asp:BoundField DataField="UnitPrice" DataFormatString="{0:C}" HeaderText="Price"
       HtmlEncode="False" SortExpression="UnitPrice" />
     <asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued" SortExpression="Discontinued" />
   </Columns>
</asp:GridView>

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}"
   SelectMethod="GetProducts" TypeName="ProductsBLL"></asp:ObjectDataSource>

这时你在浏览器中预览你将看到类似图2的界面,数据按类别的字母顺序 排序.


图2:可排序GridView按Category按序

时间: 2025-01-27 03:22:40

ASP.NET 2.0数据教程之二十七:创建自定义排序用户界面的相关文章

ASP.NET 2.0数据教程之二:创建一个业务逻辑层

本系列文章导航 ASP.NET 2.0数据教程之一:创建一个数据访问层 ASP.NET 2.0数据教程之二:创建一个业务逻辑层 ASP.NET 2.0数据教程之三:母板页和站点导航 ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据 ASP.NET 2.0数据教程之五:声明参数 ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值 ASP.NET 2.0数据教程之七:使用DropDownList过滤的主/从报表 ASP.NET 2.0

ASP.NET 2.0数据教程之二十九:用DataList和Repeater来显示数据

返回"ASP.NET 2.0数据教程目录" 导言 在之前的28篇教程的例子里,如果我们需要显示某个数据源的多条 记录,我们使用GridView .GridView 的一行表示数据源的一条记录,列表示一个字 段.虽然GridView 用来显示数据,分页,排序,编辑,删除非常的方便,但是有点臃肿 .而且GridView 结构的标记是固定的-它包含一个带有<tr>和 <td>的HTML <table>标记. 为了在显示多条记录时,有更好的 自定义功能,AS

ASP.NET 2.0数据教程之二十八:GridView里的Button

返回"ASP.NET 2.0数据教程目录" 导言 一般控件(比如GridView)显示数据的时候对数据只能读取,而需要处理 数据的功能是非常常见的.典型的情况是为每行数据添加一个Button, LinkButton, 或ImageButton . 当点击这些button时,数据会PostBack,执行一些 服务器端的代码. 一条条的编辑或删除数据是最常见的情况.实际上,编辑和删除 是如此常见,从概述插入.更新和删除数据开始, 我们可以看到GridView, DetailsView,和

ASP.NET 2.0数据教程之二十六:排序自定义分页数据

返回"ASP.NET 2.0数据教程目录" 导言 和默认翻页方式相比,自定义分页能提高几个数量级的效率.当 我们的需要对大量数据分页的时候就需要考虑自定义分页,然而实现自定义分页 相比默认分页需要做更多工作.对于排序自定义分页数据也是这样,在本教程中 我们就会扩展前面的例子来实现自定义分页数据的排序. 注意:既然本教 程是基于前一个的,因此我们需要把前面教程示例页面EfficientPaging.aspx的 <asp:Content>元素中的代码复制到本教程SortPara

ASP.NET 2.0数据教程之二十五:大数据量时提高分页的效率

返回"ASP.NET 2.0数据教程目录" 如我们在之前的教程里讨论的那样,分页可以通过两种方法来实现: 默 认分页– 你仅仅只用选中data Web control的智能标签的Enable Paging ; 然而,当你浏览页面的时候,虽然你看到的只是一小部分数据,ObjectDataSource 还是会每次都读取所有数据 自定义分页– 通过只从数据库读取用户 需要浏览的那部分数据,提高了性能.显然这种方法需要你做更多的工作. 默认的分页功能非常吸引人,因为你只需要选中一个checkb

ASP.NET 2.0数据教程之二十四: 分页和排序报表数据

返回"ASP.NET 2.0数据教程目录" 导言 分页和排序是在WEB应用程序中展现数据常见的功能.比如,当我 们在一个网上书店搜索ASP.NET书籍的时候,可能有几百本相关书籍,但是我们只 希望每页显示10条有效记录.而且,我们还希望结果能根据标题.价格.页数和 作者等等来进行排序.过去的23个教程中我们研究了如何建立各种报表,包括在 界面上添加编辑和删除数据.但是我们没有研究如何对数据进行排序,对于分页 我们也仅在研究DetailsView和FormView控件的时候看到. Ste

ASP.NET 2.0数据教程之二十三:基于用户对修改数据进行限制

返回"ASP.NET 2.0数据教程目录" 导言 很多Web程序都支持用户帐号,根据不同的登录用户提供不同的选 项,报表等功能.例如,就我们的教程中,我们要允许供应商公司的一些账户能 登录网站并更新它们的产品-包括产品名称和单价,或许还有供应商的信息,比 如它们的公司名称,地址,以及联系人信息等等.此外,可能我们还想包含一些 帐号留给我们自己公司用户,以便让它们能够登录并进行产品信息修改,比如股 价,级别调整等等.我们的Web程序同时也可以允许匿名登录,但是仅仅让这些用 户浏览数据.并

Scott Mitchell的ASP.NET 2.0数据教程之二:创建一个业务逻辑层

返回"ASP.NET 2.0数据教程目录" 导言 本教程的第一节所描述的数据访问层(Data Access Layer,以下 简称为DAL)已经清晰地将表示逻辑与数据访问逻辑区分开了.不过,即使DAL将 数据访问的细节从表示层中分离出来了,可它却不能处理任何的业务规则.比如 说,我们可能不希望产品表中那些被标记为"停用"的产品的" 分类编号"或"供应商编号"被更新:我们还可能需要应用一些 资历规则,比如说我们都不希望被比自己的

ASP.NET 2.0数据教程目录

ASP.NET 2.0数据教程作者为Scott Mitchell (英文版地址:http://www.asp.net/learn/data-access/tutorial-01-cs.aspx),并由思归呓语.Reeezak.横刀天笑.Eddie005.立冬.zhzkl.Truly.Chagel.LoveCherry.有些伤感.ksnoopy.王文涛共同翻译完成. ASP.NET 2.0数据教程之一: 创建一个数据访问层 ASP.NET 2.0数据教程之二:创建一个业务逻辑层 ASP.NET 2