24分页和排序报表数据Word下载.docx
《24分页和排序报表数据Word下载.docx》由会员分享,可在线阅读,更多相关《24分页和排序报表数据Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
图1:
创建一个PagingAndSorting文件夹并且添加教程的页面
下一步,让我们打开Default.aspx页面并且从UserControls中拖拽SectionLevelTutorialListing.ascx用户控件到设计界面。
我们在母板页和站点导航教程中创建的这个用户控件遍历站点地图并且以符号列表形式把它们呈现出来。
图2:
把SectionLevelTutorialListing.ascx用户控件加入Default.aspx
要让显示我们将要创建的分页和排序教程,我们需要把他们加入站点地图中。
打开Web.sitemap文件并且把下列代码加在“编辑、插入和删除”siteMapNode标记之后:
<
siteMapNodetitle="
PagingandSorting"
url="
~/PagingAndSorting/Default.aspx"
description="
SamplesofReportsthatProvidePagingandSortingCapabilities"
>
<
siteMapNodeurl="
~/PagingAndSorting/SimplePagingSorting.aspx"
title="
SimplePaging&
amp;
SortingExamples"
description="
Examineshowtoaddsimplepagingandsortingsupport."
/>
~/PagingAndSorting/EfficientPaging.aspx"
EfficientlyPagingThroughLargeResultSets"
Learnhowtoefficientlypagethroughlargeresultsets."
~/PagingAndSorting/SortParameter.aspx"
title="
SortingDataattheBLLorDAL"
IllustrateshowtoperformsortinglogicintheBusinessLogic
LayerorDataAccessLayer."
~/PagingAndSorting/CustomSortingUI.aspx"
CustomizingtheSortingUserInterface"
Learnhowtocustomizeandimprovethesortinguserinterface."
/siteMapNode>
图3:
更新站点地图使之包含新的页面
Step2:
在GridView中显示产品信息
在我们真正实现分页和排序功能以前,让我们首先创建一个标准的,没有排序和分页功能的GridView来显示产品信息。
其实这个工作我们已经做过很多次了,大家也应该很熟悉了。
首先打开SimplePagingSorting.aspx页面并且从工具箱中拖一个GridView控件到设计器,配置它的ID属性为Products。
接着,新建一个ObjectDataSource并使用ProductsBLL类的GetProducts()方法来获取所有的产品信息。
图4:
使用GetProducts()方法获取所有产品信息
因为这个报表是只读的,我们不需要把ObjectDataSource的Insert(),Update(),和Delete()方法映射到相应的ProductsBLL方法,因此,对于UPDATE,INSERT,和DELETE页我们从下拉列表中选取(None)。
图5:
对于UPDATE,INSERT,和DELETE页,我们从下拉列表中选择(None)选项
下一步,让我们调整GridView的字段使之只显示产品名、供应商、分类、价格和状态。
另外,我们可以尽管进行一些格式上的调整,比如配置价格的HeaderText以符合我们的货币形式。
经过这些修改之后,我们的GridView代码应该和下面的差不多:
ASP.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
asp:
GridViewID="
Products"
runat="
server"
AutoGenerateColumns="
False"
DataKeyNames="
ProductID"
DataSourceID="
ObjectDataSource1"
EnableViewState="
Columns>
BoundFieldDataField="
ProductName"
HeaderText="
Product"
SortExpression="
CategoryName"
Category"
ReadOnly="
True"
SupplierName"
Supplier"
UnitPrice"
Price"
DataFormatString="
{0:
C}"
HtmlEncode="
CheckBoxFieldDataField="
Discontinued"
/Columns>
/asp:
GridView>
图6显示了在浏览器中的效果,但是注意到,我们在一个屏幕上显示产品。
显示了每个产品的名字、分类、供应商、价格和状态。
图6:
每个产品都列出来了
Step3:
添加分页支持
在一个屏幕上列出所有的产品对于用户查看数据非常不方便。
要让结果更加可以管理,我们应该把数据分几个页面来呈现,并提供用户切换页面的功能。
要实现这个只需要选择GridView智能标签前的Paging复选框即可(其实就是把AllowPaging属性设置为true)。
图7:
点击EnablePaging复选框来支持分页
开启分页以后就能限制每页显示的记录数量并且在GridView中增加了分页导航。
默认如图7,是一系列页面的数字,运行用户快速从一个页面切换到另一个。
其实我们并不陌生,在为过去的教程中我们已经为DetailsView个FormView控件提供过分页支持。
DetailsView和FormView控件仅仅支持每一页显示一条记录。
但是对于GridView,有一个PageSize属性,能让我们配置每页显示的记录数(默认是设置为10)。
GridView,DetailsView和FormView分页导航能使用下面的属性来配置:
∙PagerStyle–指示分页导航的样式,能设置BackColor,ForeColor,CssClass,HorizontalAlign等等。
∙PagerSettings–包含大量属性来自定义分页导航的功能;
PageButtonCount代表显示在底部分页导航的最大页面数(默认为10);
Mode属性代表分页操作的形式,能设置为:
oNextPrevious–显示下一页和上一页按钮,让用户一次朝后或者朝前翻一页
oNextPreviousFirstLast–除了下一页和上一页按钮外,还提供第一页和最后一页按钮,能让用户快速定位到首页或者末页数据
oNumeric–显示一系列页面数字,让用户直接点击数字切换到相应页面
oNumericFirstLast–除了页面数字以外还提供第一页和最后一页按钮,让用户能快速定位到首页或者末页数据,只有当没有显示首页或者末页数字时才显示按钮
此外,GridView,DetailsView和FormView还提供了PageIndex和PageCount属性来指示当前呈现的页面和页面总数。
PageIndex属性从0开始编号,因此我们浏览第一页的时候就为0,而PageCount是从1开始编号的,因此PageIndex的范围在0和PageCount–1之间。
让我们再花一些时间来改进GridView分页导航的默认外观。
首先,我们把分页导航居右并且设置为灰色背景色。
我们不希望直接设置GridView的PagerStyle属性来实现,而是在Styles.css中创建一个称作PagerRowStyle的CSS类,然后设置主题文件中PagerStyle的CssClass属性进行关联。
首先打开Styles.css然后把下面CSS类定义加入文件:
CSS
.PagerRowStyle
{
background-color:
#ddd;
text-align:
right;
}
接着,打开App_Themes文件夹中DataWebControls文件夹下的GridView.skin文件。
我们在母板页和站点导航教程中提到过,Skin文件能为WEB控件指定一个默认的属性值。
因此,我们设置PagerStyle的CssClass属性为PagerRowStyle。
同样,让我们配置分页导航来显示5个页面数字(NumericFirstLast模式)。
GridViewrunat="
CssClass="
DataWebControlStyle"
AlternatingRowStyleCssC