MvcPager分页控件
使用DataRow集合分页示例
本示例演示如何手工创建PagedList<T>对象并实现分页以及显示分页信息。
共10页100条记录,当前显示第91到第100条
| 订单编号 | 顾客姓名 |
|---|---|
| 91 | Customer_91 |
| 92 | Customer_92 |
| 93 | Customer_93 |
| 94 | Customer_94 |
| 95 | Customer_95 |
| 96 | Customer_96 |
| 97 | Customer_97 |
| 98 | Customer_98 |
| 99 | Customer_99 |
| 100 | Customer_100 |
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<PagedList<DataRow>>" %>
<%@ Import Namespace="Webdiyer.WebControls.Mvc"%>
<%@ Import Namespace="System.Data"%>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
使用DataRow集合分页示例
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<style type="text/css">
.pagerItem a{text-decoration:none}
.redbold{color:Red;font-weight:bold}
</style>
<h2>使用DataRow集合分页示例</h2>
<div>本示例演示如何手工创建PagedList<T>对象并实现分页以及显示分页信息。</div><br />
<div>共<%=Model.TotalPageCount %>页<%=Model.TotalItemCount %>条记录,
当前显示第<%=Model.StartRecordIndex %>到第<%=Model.EndRecordIndex %>条</div>
<table width="98%">
<tr><th>订单编号</th><th>顾客姓名</th></tr>
<%foreach(DataRow dr in Model)
{
%>
<tr><td><%=dr["id"] %></td><td><%=dr["CustomerName"] %></td></tr>
<%
} %>
</table>
<%=Html.Pager(Model, new PagerOptions { PageIndexParameterName = "id",
CssClass = "pagerItem", FirstPageText = "<<", LastPageText = ">>",
PrevPageText = "<", NextPageText = ">",
CurrentPagerItemWrapperFormatString = "<span class=\"redbold\">{0}</span>" })%>
</asp:Content>
public ActionResult DataRowsPaging(int? id)
{
var dt = new DataTable("Orders");
dt.Columns.Add(new DataColumn("Id", typeof(int)));
dt.Columns.Add(new DataColumn("CustomerName", typeof(string)));
for (int i = 1; i <= 100; i++)
{
DataRow dr = dt.NewRow();
dr[0] = i;
dr[1] = "Customer_" + i;
dt.Rows.Add(dr);
}
int pageSize = 10;
int pageIndex = id ?? 1;
PagedList<DataRow> pl = new PagedList<DataRow>(dt.Select(), pageIndex, pageSize);
//或者:PagedList<DataRow> pl =
new PagedList<DataRow>(dt.Select("Id>"+(pageIndex-1)*pageSize+" and
Id<="+pageIndex*pageSize), pageIndex, pageSize,dt.Rows.Count);
return View(pl);
}
