Scott Mitchell 的ASP.NET 2.0数据教程之二十四.分页和排序报表
Scott Mitchell 的ASP.NET 2.0数据教程之二十四.分页和排序报表数据
Scott Mitchell 的http://doc.guandang.net 2.0数据教程之二十四:: 分页和排序报表数据
导言
分页和排序是在WEB应用程序中展现数据常见的功能。比如,当我们在一个网上书店搜索http://doc.guandang.net书籍的时候,可能有几百本相关书籍,但是我们只希望每页显示10条有效记录。而且,我们还希望结果能根据标题、价格、页数和作者等等来进行排序。过去的23个教程中我们研究了如何建立各种报表,包括在界面上添加编辑和删除数据。但是我们没有研究如何对数据进行排序,对于分页我们也仅在研究DetailsView和FormView控件的时候看到。
Step 1:添加分页和排序页面
在我们开始以前,首先让我们花些时间来添加包括本篇在内的最近四篇教程需要用到的页面。我们先在项目中新建一个称作PagingAndSorting的文件夹,接下来,为目录新增以下几个页面,并配置为使用Site.master母板页。
Default.aspx SimplePagingSorting.aspx EfficientPaging.aspx SortParameter.aspx CustomSortingUI.aspx
图1:创建一个PagingAndSorting文件夹并且添加教程的页面
Scott Mitchell 的ASP.NET 2.0数据教程之二十四.分页和排序报表数据
下一步,让我们打开Default.aspx页面并且从UserControls中拖拽SectionLevelTutorialListing.ascx用户控件到设计界面。我们在母板页和站点导航教程中创建的这个用户控件遍历站点地图并且以符号列表形式把它们呈现出来。
图2:把SectionLevelTutorialListing.ascx用户控件加入Default.aspx
要让显示我们将要创建的分页和排序教程,我们需要把他们加入站点地图中。打开Web.sitemap文件并且把下列代码加在“编辑、插入和删除”siteMapNode标记之后:
XML
1 <siteMapNode title="Paging and Sorting" url="~/PagingAndSorting/Default.aspx"
2 description="Samples of Reports that Provide Paging and Sorting Capabilities">
3 <siteMapNode url="~/PagingAndSorting/SimplePagingSorting.aspx"
Scott Mitchell 的ASP.NET 2.0数据教程之二十四.分页和排序报表数据
4 title="Simple Paging & Sorting Examples"
5 description="Examines how to add simple paging and sorting support." />
6 <siteMapNode url="~/PagingAndSorting/EfficientPaging.aspx"
7 title="Efficiently Paging Through Large Result Sets"
8 description="Learn how to efficiently page through large result sets." />
9 <siteMapNode url="~/PagingAndSorting/SortParameter.aspx"
10 title="Sorting Data at the BLL or DAL"
11 description="Illustrates how to perform sorting logic in the Business Logic
12 Layer or Data Access Layer." />
13 <siteMapNode url="~/PagingAndSorting/CustomSortingUI.aspx"
14 title="Customizing the Sorting User Interface"
15 description="Learn how to customize and improve the sorting user interface." />
16 </siteMapNode>
Scott Mitchell 的ASP.NET 2.0数据教程之二十四.分页和排序报表数据
图3:更新站点地图使之包含新的页面
Step 2:在GridView中显示产品信息
在我们真正实现分页和排序功能以前,让我们首先创建一个标准的,没有排序和分页功能的GridView来显示产品信息。其实这个工作我们已经做过很多次了,大家也应该很熟悉了。首先打开
SimplePagingSorting.aspx页面并且从工具箱中拖一个GridView控件到设计器,配置它的ID属性为Products。接着,新建一个ObjectDataSource并使用ProductsBLL类的GetProducts()方法来获取所有的产品信息。
Scott Mitchell 的ASP.NET 2.0数据教程之二十四.分页和排序报表数据
图4:使用GetProducts()方法获取所有产品信息
因为这个报表是只读的,我们不需要把ObjectDataSource的Insert(), Update(), 和 Delete()方法映射到相应的ProductsBLL方法,因此,对于UPDATE, INSERT, 和 DELETE页我们从下拉列表中选取(None)。
Scott Mitchell 的ASP.NET 2.0数据教程之二十四.分页和排序报表数据
图5:对于UPDATE, INSERT, 和DELETE页,我们从下拉列表中选择(None)选项
下一步,让我们调整GridView的字段使之只显示产品名、供应商、分类、价格和状态。另外,我们可以尽管进行一些格式上的调整,比如配置价格的HeaderText以符合我们的货币形式。经过这些修改之后,我们的GridView代码应该和下面的差不多:
http://doc.guandang.net
1 <asp:GridView ID="Products" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID" 2 DataSourceID="ObjectDataSource1" EnableViewState="False">
3 <Columns>
4 <asp:BoundField DataField="ProductName" HeaderText="Product" SortExpression="ProductName" /> 5 <asp:BoundField DataField="CategoryName" HeaderText="Category" ReadOnly="True"
Scott Mitchell 的ASP.NET 2.0数据教程之二十四.分页和排序报表数据
6 SortExpression="CategoryName" />
7 <asp:BoundField DataField="SupplierName" HeaderText="Supplier" ReadOnly="True"
8 SortExpression="SupplierName" />
9 <asp:BoundField DataField="UnitPrice" HeaderText="Price" SortExpression="UnitPrice"
10 DataFormatString="{0:C}" HtmlEncode="False" />
11 <asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued"
SortExpression="Discontinued" />
12
</Columns>
13
</asp:GridView>
图6显示了在浏览器中的效果,但是注意到,我们在一个屏幕上显示产品。显示了每个产品的名字、分类、供应商、价格和状态。
Scott Mitchell 的ASP.NET 2.0数据教程之二十四.分页和排序报表数据
图6:每个产品都列出来了
Step 3:添加分页支持
在一个屏幕上列出所有的产品对于用户查看数据非常不方便。要让结果更加可以管理,我们应该把数据分几个页面来呈现,并提供用户切换页 …… 此处隐藏:8662字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




