7.4.6  ListView(3)

3. ListView分页和Pager控件

ASP.NET 3.5引入了另一个新控件DataPager,ListView使用它为自己提供分页功能。DataPager控件用于给终端用户显示分页的导航,并与实 现了IPagableItemContainer接口的数据绑定控件(在ASP.NET 3.5中就是ListView控件)一起完成数据分页任务。事实上,如果在ListView配置对话框中选择Paging复选框,激活ListView控 件上的分页功能,该控件就会在其LayoutTemplate中插入一个新的DataPager控件。ListView为Grid布局生成的默认分页标记 如下:

<asp:datapager ID="DataPager1" runat="server">
<Fields>
<asp:nextpreviouspagerfield ButtonType="Button" FirstPageText="First"
LastPageText="Last" NextPageText="Next" PreviousPageText="Previous"
ShowFirstPageButton="True" ShowLastPageButton="True" />
</Fields>
</asp:datapager>

该控件的标记显示,在DataPager中创建了一个Fields集合,它包含一个NextPreviousPagerField对象。顾名思义, 使用NextPreviousPager对象会使DataPager显示Next和Previous按钮,作为其用户界面。DataPager控件包含3 类Field对象:NextPreviousPagerField、NumericPagerField和TemplatePagerField对象。 NumericPagerField对象会生成一个简单的编号页面列表,而TemplatePagerField可以指定定制的分页用户界面。这些不同的 Field类型都包含许多属性,可用于控制DataPager显示用户界面的方式。另外,DataPager包含一个Fields集合,而不是一个简单的 Field属性,所以可以在一个DataPager控件中显示几种不同的Field对象。

TemplatePagerField是一种独特的Field对象,它不包含用户界面本身,而只包含一个模板,用于完全定制分页的用户界面。程序清单7-56演示了TemplatePagerField的使用。

程序清单7-56  创建定制的DataPager用户界面

<asp:DataPager ID="DataPager1" runat="server">
<Fields>
<asp:TemplatePagerField>
<PagerTemplate>
Page
<asp:Label runat="server"
Text="<%# (Container.StartRowIndex/Container.PageSize)+1%>" />
of
<asp:Label runat="server"
Text="<%# Container.TotalRowCount/Container.PageSize%>" />
</PagerTemplate>
</asp:TemplatePagerField>
</Fields>
</asp:DataPager>

注意这个例子使用ASP.NET数据绑定提供总页数、页面尺寸和页面开始的行,这些都是通过DataPager控件显示的。

如果要在PagerTemplate中使用定制的导航控件,例如用按钮控件改变当前显示的页面,就应为按钮创建标准的Click事件处理程序。在这 个事件处理程序中,可以访问DataPager的StartRowIndex、TotalRowCount和PageSize属性,计算ListView 在显示时应使用的新StartRowIndex。

与GridView提供的分页功能不同,DataPager是一个独立的控件,可以把它自由地放在Web页面上。前面的所有例子都是把DataPager控件直接放在ListView上,但这个控件可以放在Web窗体的任何地方。

程序清单7-57  把DataPager控件放在ListView的外部

<asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>

在程序清单7-57中,一个重要的变化是使用了PagedControlID属性,它可以指定这个分页器应使用哪个控件。

ListView(3)相关推荐

  1. ListView(2)

    7.4.6  ListView(2) ListView组的显示 除了Item Container之外,ListView还支持另一个容器类型Group Container.Group Container ...

  2. ListView(1)

    7.4.6  ListView(1) ASP.NET 3.5引入了一个新的数据绑定列表控件ListView.ListView控件主要用于提供一个数据绑定控件,弥补ASP.NET 2.0中高度结构化的G ...

  3. Flutter ListView (动态)列表组件、水平列表组件、图标组件详解

    Flutter ListView (动态)列表组件.水平列表组件.图标组件 Flutter ListView 基础列表组件.水平列表组件.图标组件 列表常见的几种情况: 垂直列表 垂直图文列表 横向列 ...

  4. 横向ListView(一) ——开篇,基础逻辑实现

    2019独角兽企业重金招聘Python工程师标准>>> 第一次写博文,写得不好的地方还望各位看客见谅 为了学习自定义软件开发,且定制出满足自己需求的控件(不需要将就地使用第三方源码) ...

  5. 横向ListView(四) —— 添加滚动条

    2019独角兽企业重金招聘Python工程师标准>>> 在前面的文章已经介绍了横向ListView的基础实现及头尾视图的添加等的实现,这篇文章将介绍为横向ListView添加滚动条: ...

  6. ListView(一)

    理论部分 1.ListView是最常用的控件之一,其知识点和用法对我来说纷繁复杂 2.最常用的用法就是:ListView配合BaseAdapter使用 3.方法1: public View getCh ...

  7. android之ScrollView里嵌套ListView(转)

    hi,大家好,研究完ScrollView嵌套ScrollView之后,本人突然又想研究ScrollView里嵌套ListView了. 如果还不知道ScrollView嵌套ScrollView是怎么实现 ...

  8. Android之ListView(三)

    文章目录 activity_main.xml chatting_item_msg_text_left.xml chatting_item_msg_text_right.xml ChatActivity ...

  9. [android] 练习使用ListView(一)

    练习使用ListView,BaseAdapter,先展示文字的,再练习图片的 MainActivity.java package com.android.test;import android.app ...

最新文章

  1. Python3.5+SQL+Prometheus+Grafana报表/监控
  2. matlab打开显示系统错误,win7系统笔记本运行Matlab软件弹出已停止工作错误窗口的解决方法...
  3. flannel源码分析--InClusterConfig
  4. Bfs++ open the lock
  5. linux vnc的小黑点和鼠标不同步_vnc使用教程,在Linux中vnc使用教程的4个步骤
  6. Spring Boot:快速启动MVC
  7. python网络爬虫系列(三)——cookie的原理、保存与加载
  8. 菜鸟学Linux 第034篇笔记 vmlinuz, initrd, modules, script
  9. 4.算法通关面试 --- 树和图
  10. 通过docker创建Nginx容器并运行Vue项目(可用https进行访问)
  11. Android架构学习之路三-MVX
  12. 配置静态IP失败总结
  13. 很自由的PDF在线转换器
  14. java map集合的等号改为逗号_老司机用一篇博客带你快速熟悉Dart语法
  15. Windows服务器时间不断修改(时间不同步已解决)
  16. com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve
  17. Spring Boot之@Transactional无法生效的问题分析
  18. 前端必备网站(纯手工输入)
  19. 给网站戴上「安全套」
  20. nodejs基础学习笔记

热门文章

  1. 张家口市12320卫生热线呼叫中心预计今年初启动
  2. laravel修改.env不生效原因以及解决办法
  3. 子网与子网掩码的介绍
  4. 杨辉三角_二维数组的好例子(转载)
  5. Ubuntu下的文件安全删除工具
  6. SQL Server 日志传送
  7. Linux系统管理命令之管理文件和目录
  8. NClay框架MVC应用入门
  9. 【4K HDR】2020年东京圣诞灯会/
  10. MiniO纠删码快速入门