English versionEnglish
杨涛的个人主页

MvcPager分页控件

使用DataRow集合分页示例

本示例演示如何手工创建PagedList<T>对象并实现分页以及显示分页信息。

共10页100条记录,当前显示第91到第100条
订单编号顾客姓名
91Customer_91
92Customer_92
93Customer_93
94Customer_94
95Customer_95
96Customer_96
97Customer_97
98Customer_98
99Customer_99
100Customer_100
<<  <  1  2  3  4  5  6  7  8  9  10  >  >>
<%@ 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);
}