VS中的DataPager分页
微软的DataPager分页功能很强大,不要设置数据库存储过程,只要添加个DataPager控件,关联下要分页的控件,简单设置就可以有不错的分页效果。当然要有更理想的效果还是要前台和后台处理下。
winform下的DataPager 显示模式:
webForm下的样式由TemplatePagerField,NextPreviousPagerField和NumericPagerField控制
通过设置上面几个控件的配合也可以达到winForm下的效果,这3个控件中最重要的是TemplatePagerField控件。
下面简单看看TemplatePagerField控件可以怎么设置:
- <%@ Page language="VB" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <script runat="server">
- Protected Sub TemplatePagerField_OnPagerCommand(ByVal sender As Object, _
- ByVal e As DataPagerCommandEventArgs)
- ' Check which button raised the event
- Select Case e.CommandName
- Case "Next"
- Dim newIndex As Integer = e.Item.Pager.StartRowIndex + e.Item.Pager.PageSize
- If newIndex <= e.TotalRowCount Then
- e.NewStartRowIndex = newIndex
- e.NewMaximumRows = e.Item.Pager.MaximumRows
- End If
- Case "Previous"
- e.NewStartRowIndex = e.Item.Pager.StartRowIndex - e.Item.Pager.PageSize
- e.NewMaximumRows = e.Item.Pager.MaximumRows
- Case "First"
- e.NewStartRowIndex = 0
- e.NewMaximumRows = e.Item.Pager.MaximumRows
- End Select
- End Sub
- </script>
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head id="Head1" runat="server">
- <title>TemplatePagerField.OnPagerCommand Example</title>
- <style type="text/css">
- body
- {
- text-align: center;
- font: 12px Arial, Helvetica, sans-serif;
- }
- .item
- {
- border: solid 1px #2F4F4F;
- background: #E6E6FA;
- }
- </style>
- </head>
- <body>
- <form id="form1" runat="server">
- <h3>TemplatePagerField.OnPagerCommand Example</h3>
- <asp:ListView ID="StoresListView"
- DataSourceID="StoresDataSource"
- runat="server">
- <LayoutTemplate>
- <table width="350" runat="server" id="tblStore">
- <tr runat="server">
- <th runat="server">ID</th>
- <th runat="server">Store Name</th>
- </tr>
- <tr id="itemPlaceholder" runat="server">
- </tr>
- </table>
- </LayoutTemplate>
- <ItemTemplate>
- <tr runat="server">
- <td class="item">
- <asp:Label ID="IDLabel" runat="server" Text='<%#Eval("CustomerID") %>' />
- </td>
- <td align="left" class="item">
- <asp:Label ID="NameLabel" runat="server" Text='<%#Eval("Name")%>' />
- </td>
- </tr>
- </ItemTemplate>
- </asp:ListView>
- <br />
- <asp:DataPager runat="server"
- ID="ContactsDataPager"
- PageSize="30"
- PagedControlID="StoresListView">
- <Fields>
- <asp:TemplatePagerField OnPagerCommand="TemplatePagerField_OnPagerCommand">
- <PagerTemplate>
- <asp:LinkButton ID="FirstButton" runat="server" CommandName="First"
- Text="<<" Enabled='<%# Container.StartRowIndex > 0 %>' />
- <asp:LinkButton ID="PreviousButton" runat="server" CommandName="Previous"
- Text='<%# (Container.StartRowIndex - Container.PageSize + 1) & " - " & (Container.StartRowIndex) %>'
- Visible='<%# Container.StartRowIndex > 0 %>' />
- <asp:Label ID="CurrentPageLabel" runat="server"
- Text='<%# (Container.StartRowIndex + 1) & "-" & (IIf(Container.StartRowIndex + Container.PageSize > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize)) %>' />
- <asp:LinkButton ID="NextButton" runat="server" CommandName="Next"
- Text='<%# (Container.StartRowIndex + Container.PageSize + 1) & " - " & (IIf(Container.StartRowIndex + Container.PageSize*2 > Container.TotalRowCount, Container.TotalRowCount, Container.StartRowIndex + Container.PageSize*2)) %>'
- Visible='<%# (Container.StartRowIndex + Container.PageSize) < Container.TotalRowCount %>' />
- </PagerTemplate>
- </asp:TemplatePagerField>
- </Fields>
- </asp:DataPager>
- <asp:SqlDataSource ID="StoresDataSource" runat="server"
- ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
- SelectCommand="SELECT [CustomerID], [Name] FROM Sales.Store ORDER BY [Name]">
- </asp:SqlDataSource>
- </form>
- </body>
- </html>
参考:https://msdn.microsoft.com/zh-SG/library/system.web.ui.webcontrols.templatepagerfield.pagercommand.aspx
https://msdn.microsoft.com/zh-cn/library/system.windows.controls.datapager(v=VS.95).aspx
VS中的DataPager分页的更多相关文章
- SpringMVC结合easyUI中datagird实现分页
SpringMVC结合easyUI中datagird实现分页 DataGrid以表格形式展示数据,并提供了丰富的选择.排序.分组和编辑数据的功能支持.轻量级,单元格合并.多列标题.冻结列和页脚只是其中 ...
- sf中标准的分页功能介绍
世上本无事,庸人自扰之.我喜欢一个相对比较安静的环境去学习和工作,希望在一个掉一根针的声音都能够听到的环境中,但是有时候往往相反,一片嘈杂,我改变不了周围的环境,只能改变自己,其实这些都没有什么,也许 ...
- asp.mvc中的vue分页实例,分页组件无法重置reload,解决点击查询按钮后,分页不刷新的问题
刚刚接触Vue.js,现在需要做一个查询功能,并且进行服务端分页.主要思路是在页面中注册一个分页组件,然后进行调用.代码如下 1.引用vue.js,具体去网上下载 2.在html的body中添加如下代 ...
- winform中DataGridView实现分页功能
WinForm轻松实现自定义分页 (转载) WinForm轻松实现自定义分页 (转载) 转载至http://xuzhihong1987.blog.163.com/blog/static/26731 ...
- 项目中的一个分页功能pagination
项目中的一个分页功能pagination <script> //总页数 ; ; //分页总数量 $(function () { // $("#pagination"). ...
- Oracle中的SQL分页查询原理和方法详解
Oracle中的SQL分页查询原理和方法详解 分析得不错! http://blog.csdn.net/anxpp/article/details/51534006
- GridView中加入//实现分页
要在GridView中加入//实现分页 AllowPaging="true" PageSize="10" // 分页时触发的事件 protectedvoid g ...
- 分页技巧_改进JSP页面中的公共分页代码_实现分页时可以有自定义的过滤与排序条件
分页技巧__改进JSP页面中的公共分页代码 自定义过滤条件问题 只有一个url地址不一样写了很多行代码 public>>pageView.jspf添加 分页技巧__实现分页时可以有自定义的 ...
- 左键双击关闭pagecontrol中的一个分页即一个tabsheet,功能像遨游浏览器一样
左键双击关闭pagecontrol中的一个分页即一个tabsheet,功能像遨游浏览器一样 procedure TfrmServerSetup.PageControl1MouseDown(Sender ...
随机推荐
- UID, EUID, SUID, FSUID
摘自:https://blog.csdn.net/wh8_2011/article/details/50825340 UID, EUID, SUID, FSUID 2016年03月08日 10:40: ...
- Web实践—Rec 1
累计完成任务情况: 阶段内容 参与人 开会学习作业要求,取得共识 全体 注: 1."阶段内容"划斜线表示完成.2.采用倒序. 具体情况: 正式开展实践作业之前的说明: 按照之前达成 ...
- 使用word写CSDN博客文章
目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...
- Arch Linux freemind中文乱码
原因:jre没有可用的中文字体 解决方法: (1) 安装中文字体,例如文泉驿微黑 pacman -S wqy-microhei (2) jre字体目录下建立fallback,并链接中文字体作为后备字体 ...
- MySQL中如何为查询的数据添加自增序号、顺序呢?
背景介绍 很多时候我们在使用mysql查询数据的时候都会遇到一个问题,就是查询出来了一堆数据,但是查询的数据的表并没有序号,然而部分数据库显示工具是有外带序号显示,但是这种序号不是由sql产生的,而是 ...
- [CentOS]使用yum命令报出Error: Cannot retrieve repository metadata (repomd.xml) for repository的解决方法
在一次错误的repo文件rpm -i 之后,执行yum就开始报出 Error: Cannot retrieve repository metadata (repomd.xml) for reposit ...
- RabbitMQ.Bus
一个.netcore下的,十分简单的rabbitmq封装,基于RabbitMQ.Client Nuget https://www.nuget.org/packages/RabbitMQ.Bus/ ht ...
- js 日期加一天或者减一天,最简单方法
通过计算一天的时间戳是多少进行换算:(new Date(new Date().getTime()-86400000)).Format("yyyy-MM-dd hh:mm:ss")
- SQL函数(不定时更新)
sum求和:select sum(a) from table1 group by b 依据b列为a列求和 distinct去除重复:select distinct(a) from table1 ...
- MySQL数据库(四)
操作数据库表的内容: -- 向表中插入数据:insert into table_name values(now(),'a'); insert into student (id,name,sex) va ...