第43章、分页显示
来源:互联网 发布:mac 终端 桌面路径 编辑:程序博客网 时间:2024/06/05 19:31
【知识要点】
(1)GridView分页
【问题提出】
对于数据量较大的时候,我们常常进行分页。
【在线指导】
PagedDataSource类封装了GridView控件的属性,从而使GridView控件可以执行分页,它就是一个数据的容器,我们先把数据从数据库中读取出来放在这个容器中,然后设置容器的属性取出当前要显示的页上的部分数据,然后将此部分数据再绑定到页面上的显示控件(例如GridView、DataList)上。
我们今天用PagedDataSource类实现GridView控件的数据分页 。
1、设计界面
(1)打开Hello项目,单击“启动页>最近使用的项目>Hello”。
(2)在“解决方案资源管理器”中添加“SqlGridView-Page.aspx”页面。
(3)从工具箱中拖1个GridView到SqlGridView-Page..aspx页面。
GridView控件ID属性分别为:gvClient
再拖4个HyperLink和1个Label,分别用来显示“首页、上一页、下一页”和“当前页/共几页”信息。4个HyperLink的ID属性分别为:hlFirst、hlPrev、hlNext、hlLast,Label的ID属性为lblPage。
2、添加代码
(1)双击SqlManage.aspx页面空白处,在Page_Load()输入以下代码。
//初始化当前页和总页数
int CurrPage = 0;
int TotalPage = 0;
//把数据库中Client表的内容放到DataTable
string ClientSql = "SELECT * FROM Client";
DataTable DtClient = DataAccess.GetDataTable(ClientSql);
//分页设置
PagedDataSource pdsPage = new PagedDataSource();
pdsPage.DataSource = DtClient.DefaultView;
pdsPage.AllowPaging = true;
pdsPage.PageSize = 2;
//判断地址是否传递了页码参数
if (Request.QueryString["page"] != null)
CurrPage = Convert.ToInt16(Request.QueryString["page"]);
else
CurrPage = 1;
TotalPage = pdsPage.PageCount;
pdsPage.CurrentPageIndex = CurrPage - 1;
//填充gvClient
gvClient.DataSource = pdsPage;
gvClient.DataBind();
//显示分页状态信息
lblPage.Text = "第" + CurrPage.ToString() + "页/共" + Convert.ToString(TotalPage) + "页";
//首页
hlFirst.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1";
//上一页
if (!pdsPage.IsFirstPage)
hlPre.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString((CurrPage - 1));
//下一页
if (!pdsPage.IsLastPage)
hlNext.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString((CurrPage + 1));
//尾页
hlLast.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(TotalPage);
(2)现在我们从“解决方案资源管理器”中,选择“SqlManage.aspx”,单击右键“在浏览器中查看”。
讲解:
PageDataSource是本章的核心。
注: PagedDataSource 类的部分公共属性:
AllowCustomPaging 获取或设置指示是否启用自定义分页的值。
AllowPaging 获取或设置指示是否启用分页的值。
Count 获取要从数据源使用的项数。
CurrentPageIndex 获取或设置当前页的索引。
DataSource 获取或设置数据源。
DataSourceCount 获取数据源中的项数。
FirstIndexInPage 获取页中的第一个索引。
IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页。
IsFirstPage 获取一个值,该值指示当前页是否是首页。
IsLastPage 获取一个值,该值指示当前页是否是最后一页。
IsPagingEnabled 获取一个值,该值指示是否启用分页。
IsReadOnly 获取一个值,该值指示数据源是否是只读的。
IsSynchronized 获取一个值,该值指示是否同步对数据源的访问(线程安全)。
PageCount 获取显示数据源中的所有项所需要的总页数。
PageSize 获取或设置要在单页上显示的项数。
VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数。
- 第43章、分页显示
- Oracle 唯一化排序分页查询只显示第一页
- 分页时不再第一页重新搜索显示无记录
- 分页显示
- 分页显示
- 分页显示
- 分页显示
- 分页显示
- 分页显示
- 第7章 实现分页功能
- 第1章:显示图案
- ssm分页问题:第二页数据删除后自动显示第一页数据
- asp.net显示第一页、上一页、下一页和最后一页的分页显示数据表的数据
- 分页显示详解
- 通用分页显示函数
- 解决Struts分页显示
- 解决Struts分页显示
- 解决Struts分页显示
- @SuppressWarnings(unchecked)
- jdbc 事务的隔离级别
- 第42章、记录速改
- android surfaceflinger研究----显示系统, Surface机制, SurfaceFlinger loop
- ubuntu同步CM7源码并编译V880刷机包
- 第43章、分页显示
- android recovery模式及ROM制作
- 第44章、DataList
- 【windows 7系统中游戏不能全屏问题的解决方案】
- 第45章、Repeater
- selenium webdriver学习(七)------------如何处理alert、confirm、prompt对话框
- 第46章、调用简单存储过程
- 高通寄存器状态比较-比如录音状态和正常状态
- CSS的em、px、pt长度单位转换