Fork me on GitHub

AspNetPager 示例 - AccessDataSource分页示例

该示例演示如何使用AspNetPager分页控件和AccessDataSource控件来对Access数据库中的数据进行分页,不需要使用存储过程。

订单编号订单日期客户编号雇员编号
11077 1996/6/5 RATTC 1
11076 1996/6/5 BONAP 4
11075 1996/6/5 RICSU 8
11074 1996/6/5 SIMOB 7
11073 1996/6/4 PERIC 2
11072 1996/6/4 ERNSH 4
11071 1996/6/4 LILAS 1
11070 1996/6/4 LEHMS 2
11069 1996/6/3 TORTU 1
11068 1996/6/3 QUEEN 8

AccessDataSource.aspx:

<%@ Page Language="C#" AutoEventWireup="true" Inherits="DataSources_PagedDataSrc" MasterPageFile="AspNetPager.master" Title="AccessDataSource分页示例" MetaDescription="该示例演示如何使用AspNetPager分页控件和AccessDataSource控件来对Access数据库中的数据进行分页,不需要使用存储过程。" Codebehind="AccessDataSource.aspx.cs" %>

<asp:Content runat="server" ID="content1" ContentPlaceHolderID="main">
   <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="App_Data/NorthWnd.mdb"
        SelectCommand="select orderid,orderdate,customerid,employeeID from orders order by orderid desc" CacheKeyDependency="ADS_Orders" EnableCaching="True" OnSelected="AccessDataSource1_Selected"></asp:AccessDataSource>
    <br />
<asp:Repeater ID="Repeater1" runat="server">
        <HeaderTemplate>
        <table width="100%" class="table table-bordered">
        <tr><th style="width:25%">订单编号</th><th style="width:25%">订单日期</th><th style="width:25%">客户编号</th><th style="width:25%">雇员编号</th></tr>
        </HeaderTemplate>
        <ItemTemplate>
        <tr>
        <td><%#DataBinder.Eval(Container.DataItem,"orderid")%></td>
        <td><%#DataBinder.Eval(Container.DataItem,"orderdate","{0:d}")%></td>
        <td><%#DataBinder.Eval(Container.DataItem,"customerid")%></td>
        <td><%#DataBinder.Eval(Container.DataItem,"employeeid")%></td>
        </tr>
        </ItemTemplate>
        <FooterTemplate>
        </table>
        </FooterTemplate>
    </asp:Repeater>
    <webdiyer:aspnetpager id="AspNetPager1" runat="server" horizontalalign="Center" onpagechanged="AspNetPager1_PageChanged"
        width="100%"></webdiyer:aspnetpager>   
</asp:Content>

AccessDataSource.aspx.cs:

using System;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class DataSources_PagedDataSrc : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            bindData();
        }
    }

    void bindData()
    {
        PagedDataSource pds = new PagedDataSource();
        pds.AllowPaging = true;
        pds.PageSize = AspNetPager1.PageSize;
        pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
        DataView dv = (DataView)AccessDataSource1.Select(DataSourceSelectArguments.Empty);
        pds.DataSource = dv;
        Repeater1.DataSource = pds;
        Repeater1.DataBind();
    }
    
    protected void AspNetPager1_PageChanged(object src, EventArgs e)
    {
        bindData();
    }

    protected void AccessDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
    {
        AspNetPager1.RecordCount = e.AffectedRows;
    }
}