zoukankan      html  css  js  c++  java
  • Repeater利用PagedDataSource进行分页

    用PagedDataSource类实现Repeater和DataList的分页。 PagedDataSource封装了DataGrid的分页属性,我们可以象DataGrid那样进行分页。

    HTML代码

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body style="text-align:center">
        <form id="form1" runat="server">
        <div align="center" style="800px;">
            <table cellpadding="0" cellspacing="1" border="0" bgcolor="#000000" width="100%">
                <tr>
                    <td bgcolor=#ffffff>au_id</td>
                    <td bgcolor=#ffffff>au_fname</td>
                    <td bgcolor=#ffffff>au_lname</td>
                    <td bgcolor=#ffffff>phone</td>
                    <td bgcolor=#ffffff>address</td>
                    <td bgcolor=#ffffff>city</td>
                    <td bgcolor=#ffffff>state</td>
                    <td bgcolor=#ffffff>zip</td>
                     <td bgcolor=#ffffff>contract</td>
                </tr>
            <asp:Repeater runat="server" ID="Rpt_Test" OnItemDataBound="Rpt_Test_ItemDataBound">
                <ItemTemplate>
                        <tr>
                            <td bgcolor=#ffffff>
                                <%#DataBinder.Eval(Container,"DataItem.au_id") %>
                            </td >
                            <td bgcolor=#ffffff>
                                <%#DataBinder.Eval(Container,"DataItem.au_fname") %>
                            </td>
                            <td bgcolor=#ffffff>
                                <%#DataBinder.Eval(Container,"DataItem.au_lname") %>
                            </td>
                            <td bgcolor=#ffffff>
                                <%#DataBinder.Eval(Container,"DataItem.phone") %>
                            </td>
                            <td bgcolor=#ffffff>
                                <%#DataBinder.Eval(Container,"DataItem.address") %>
                            </td>
                            <td bgcolor=#ffffff>
                                <%#DataBinder.Eval(Container,"DataItem.city") %>
                            </td>
                            <td bgcolor=#ffffff>
                                <%#DataBinder.Eval(Container,"DataItem.state") %>
                            </td>
                            <td bgcolor=#ffffff>
                                <%#DataBinder.Eval(Container,"DataItem.zip") %>
                            </td>
                            <td bgcolor=#ffffff>
                                <%#DataBinder.Eval(Container,"DataItem.contract") %>
                            </td>
                        </tr>
                </ItemTemplate>
            </asp:Repeater>   
            </table>
        </div>
            <asp:Label ID="lblCurrentPage" runat="server" Text="Label" Font-Size=12px></asp:Label>&nbsp;
            <asp:HyperLink ID="lnkPrev" runat="server" Font-Size=12px>上一页</asp:HyperLink>&nbsp;
            <asp:HyperLink ID="lnkNext" runat="server" Font-Size=12px>下一页</asp:HyperLink>
        </form>
    </body>
    </html>

    代码页面 

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;

    public partial class _Default : System.Web.UI.Page
    {

        #region Page_Load()
        protected void Page_Load(object sender, EventArgs e)
        {
            PagedDataSource objds = new PagedDataSource();

            objds.DataSource = ReturnDataTable().DefaultView;

            objds.AllowPaging = true;

            objds.PageSize = 5;

            int CurPage;

            if (Request.QueryString["Page"] != null)
            {
                CurPage = Convert.ToInt32(Request.QueryString["Page"]);
            }
            else
            {
                CurPage = 1;
            }

            objds.CurrentPageIndex = CurPage - 1;

            lblCurrentPage.Text = "当前页:" + CurPage.ToString();

            if (!objds.IsFirstPage)
            {
                lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
            }

            if (!objds.IsLastPage)
            {
                lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
            }

            Rpt_Test.DataSource = objds;
            Rpt_Test.DataBind();
        }
        #endregion

        #region 返回数据表中数据
        /// <summary>
        /// 返回数据表中数据
        /// </summary>
        /// <returns></returns>
        private DataTable ReturnDataTable()
        {

            DataSet ds = new DataSet();
            using (SqlConnection cn = new SqlConnection("server=jhtest4;uid=sa;pwd=123;database=pubs"))
            {
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = cn;
                cmd.CommandText = "select * from authors";

               

                SqlDataAdapter da = new SqlDataAdapter(cmd);

                try
                {
                    da.Fill(ds);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            return ds.Tables[0];
        }
        #endregion

        #region Rpt_Test_ItemDataBound
        /// <summary>
        /// Rpt_Test_ItemDataBound
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Rpt_Test_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {

        }
        #endregion
    }

  • 相关阅读:
    1052 Linked List Sorting (25 分)
    1051 Pop Sequence (25 分)
    1050 String Subtraction (20 分)
    1049 Counting Ones (30 分)
    1048 Find Coins (25 分)
    1047 Student List for Course (25 分)
    1046 Shortest Distance (20 分)
    1045 Favorite Color Stripe (30 分)
    1044 Shopping in Mars (25 分)
    1055 The World's Richest (25 分)
  • 原文地址:https://www.cnblogs.com/VirtualMJ/p/515380.html
Copyright © 2011-2022 走看看