浅谈VS中的DataPager分页
来源: 阅读:1675 次 日期:2015-02-27 10:58:43
温馨提示: 小编为您整理了“浅谈VS中的DataPager分页”,方便广大网友查阅!

微软的DataPager分页功能很强大,不要设置数据库存储过程,只要添加个DataPager控件,关联下要分页的控件,简单设置就可以有不错的分页效果。当然要有更理想的效果还是要前台和后台处理下。

winform下的DataPager 显示模式:

名单

浅谈VS中的DataPager分页

webForm下的样式由TemplatePagerField,NextPreviousPagerField和NumericPagerField控制

通过设置上面几个控件的配合也可以达到winForm下的效果,这3个控件中最重要的是TemplatePagerField控件。

下面简单看看TemplatePagerField控件可以怎么设置:

代码如下:

<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"">

<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="" >

<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>

更多信息请查看IT技术专栏

更多信息请查看网络编程
手机网站地址:浅谈VS中的DataPager分页
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map