• 带页码的分页C#代码


    代码一:

    PagedDataSource ps = new PagedDataSource();
                    ps.DataSource = dt.DefaultView;
                    ps.AllowPaging
    = true;
                    ps.PageSize
    = 10;
                   
    int pagecount;
                   
    if (Request.QueryString["page"] != null)
                        pagecount
    = Convert.ToInt32(Request.QueryString["page"].ToString());
                   
    else
                        pagecount
    = 1;

                    ps.CurrentPageIndex
    = pagecount - 1;

                   

                   
                    lblPagecount.Text
    = ps.PageCount.ToString();

                   
                   
                    lblList.Text
    = "";
                   
                   
    int MinPage = pagecount - 5;
                   
    int MaxPage = pagecount + 5;
                   
    if(MaxPage>ps.PageCount)
                        MaxPage
    =ps.PageCount;
                   
    if (MinPage < 0)
                        MinPage
    = 0;

                  
                   
    for (int i = MinPage; i < MaxPage; i++)
                    {

                           
    string url = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(i+1);

                           
    string pg = Convert.ToString(i + 1);
                           
    if (i == pagecount-1)
                                pg
    = "<Font color=red>" + pg + "</font>";
                            lblList.Text
    += "<a href=" + url + " >[ " + pg + " ]</a>  ";

                    }



                    lblList.Text
    += "...";

                       
    //Response.Write(ts.Rows[0][0]);
                        if (!ps.IsFirstPage)
                           
    this.hplFist.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1);

                   
    if (!ps.IsFirstPage)
                       
    this.hplPrv.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(pagecount - 1);

                   
    if (!ps.IsLastPage)
                       
    this.hplNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(pagecount + 1);

                   
    if (!ps.IsLastPage)
                       
    this.hplLast.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(ps.PageCount);
                    rep_Userans.DataSource
    = ps;
                    rep_Userans.DataBind();

    代码二:

    //ASP.NET2.0中datalist仿百度分页
    //注意这个分页在1.0中无效
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    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 MySql.Data.MySqlClient;
    using System.Data.SqlClient;
    using System.IO;
    public partial class mysql : System.Web.UI.Page
    {
        SqlConnection conn
    = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["constrmy"]);
       
    int ToatalCountRecord;//总记录数
        int PageItem = 4;//每页显示的条数
        int CurrentPage = 1;//当前页数
        protected void Page_Load(object sender, EventArgs e)
        {
           
           
    if (!this.Page.IsPostBack)
            {
               
    if (Request.QueryString["page"] != null)
                {
                   
    if (!Int32.TryParse(Request.QueryString["page"].ToString(), out CurrentPage)) { Response.Write("请输入分页参数!");
                        Response.End();
                       
    return;
                    }
                }
               
               
    this.BuidGrid();
            }
        }
       
       
    private void BuidGrid()
        {
           
    string s2 = "select * from ts1";
            SqlDataAdapter da
    = new SqlDataAdapter(s2, conn);
            DataSet ds
    = new DataSet();
           
    int startRecord = (CurrentPage - 1) * PageItem;
            da.Fill(ds, startRecord, PageItem,
    "a");
           
    this.DataList1.DataSource = ds.Tables["a"].DefaultView;
           
    this.DataList1.DataBind();
            SqlCommand comm
    = new SqlCommand("select count(*) from ts1", conn);
            conn.Open();
            ToatalCountRecord
    = Convert.ToInt32(comm.ExecuteScalar());
            conn.Close();
            BuildPages();
        }
       
    private void BuildPages()
        {
           
    int Step = 5;//偏移量
            int LeftNum = 0;//做界限
            int RightNum = 0;//右界限
            string PageUrl = Request.FilePath;
           
    int PageCount = (int)Math.Ceiling((double)(ToatalCountRecord) / PageItem);
           
    if (CurrentPage - Step  < 1)
            {
                LeftNum
    = 1;
            }
           
    else
            {
                LeftNum
    = CurrentPage - Step;
            }
           
    if (CurrentPage + Step > PageCount)
            {
                RightNum
    = PageCount;
            }
           
    else
            {
                RightNum
    = CurrentPage + Step;
            }
           
    string OutPut = "";
           
    if (CurrentPage > 1)
            {
                OutPut
    += " <a href='" + PageUrl + "?page=" + (CurrentPage - 1) + "'>" + "上一页" + " </a>";
            }
           
    for (int i = LeftNum; i  <= RightNum; i++)
            {
               
    if (i == CurrentPage)
                {
                    OutPut
    += " <font color=red>" + " " +"["+i.ToString() +"]"+ "" + " </font>";
                }
               
    else
                {
                    OutPut
    += " <a href='" + PageUrl + "?page=" + i.ToString() + "'>" + " " +"["+ i.ToString() +"]"+ " " + " </a>";
                }
            }
           
    if (CurrentPage  < PageCount)
            {
                OutPut
    += " <a href='" + PageUrl + "?page=" + (CurrentPage + 1) + "'>" + "下一页" + " </a>";
            }
           
    this.PageInfo.InnerHtml = OutPut;
        }
     
    }
    //请注意颜色标注部分
    //需要在前台添加一个  <div id="PageInfo" runat="server" >

  • 相关阅读:
    underscore相关记录
    背包问题
    数学图形(2.26) 3D曲线结
    数学图形(1.41)super spiral超级螺线
    数学图形(2.25)三维悬链线与悬链面
    数学图形(2.24) 帖在圆柱面上的曲线
    数学图形(2.23)Cylindric sine wave柱面正弦曲线
    数学图形(2.22) 帖在圆锥面上的曲线
    数学图形(2.21) 帖在抛物面上的曲线
    数学图形(2.20)3D曲线
  • 原文地址:https://www.cnblogs.com/12go/p/2185997.html
Copyright © 2020-2023  润新知