DataList分页控件

来源:互联网 发布:全知药水 编辑:程序博客网 时间:2024/05/17 06:47

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;

namespace Milestone.Friso.Web

{

    public partial class Controls_Web_DataListTool : System.Web.UI.UserControl

    {

 

        private DataTable _dt;

        private int _pz;

       

        public DataTable dataTable

        {

            set { _dt = value; }

            get { return _dt; }

        }

 

        public PagedDataSource pagedDataSource

        {

            get { return GetPageDataSource(); }

        }

 

        public int PageSize

        {

            set { _pz = value; }

            get { return _pz; }

        }

 

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!Page.IsPostBack)

            {

                int PageTotal=1;

                if (dataTable.Rows.Count < PageSize)

                    PageTotal = 1;

                else if(dataTable.Rows.Count % PageSize==0)

                    PageTotal = dataTable.Rows.Count / PageSize;

                else if (dataTable.Rows.Count % PageSize > 0)

                    PageTotal = dataTable.Rows.Count / PageSize + 1;

 

                for (int i = 0; i < PageTotal; i++)

                {

                    int a = i + 1;

                    this.ddlCurrentPage.Items.Add(a.ToString() + "/" + PageTotal);

                }

                if (PageTotal == 1)

                    this.lblcount2.Text = dataTable.Rows.Count.ToString();                                   

            }

        }

 

 

        private PagedDataSource GetPageDataSource()

        {

            //PagedDataSource 对象的相关属性赋值

            PagedDataSource objPds = new PagedDataSource();

            objPds.DataSource = dataTable.DefaultView;

            objPds.AllowPaging = true;

            objPds.PageSize = PageSize;

            int CurPage;

 

            //当前页面从Page查询参数获取

            if (Request.QueryString["Page"] != null)

                CurPage = Convert.ToInt32(Request.QueryString["Page"]);

            else

                CurPage = 1;

 

            objPds.CurrentPageIndex = CurPage - 1;

 

            lblCurrentPage.Text = "Page: " + CurPage.ToString();

            try

            {

                this.ddlCurrentPage.SelectedIndex = CurPage - 1;

                if (CurPage == 1)

                {

                    if (dataTable.Rows.Count==0)

                        this.lblcount1.Text = "0";

                    else

                        this.lblcount1.Text = "1";

                    this.lblcount2.Text = PageSize.ToString();

                    if(CurPage==this.ddlCurrentPage.Items.Count)

                        this.lblcount2.Text = dataTable.Rows.Count.ToString();

                }

                else

                {

                    this.lblcount1.Text = Convert.ToString((CurPage-1) * PageSize+1);

                    this.lblcount2.Text = Convert.ToString((CurPage-1) * PageSize + PageSize);

                    if(CurPage==this.ddlCurrentPage.Items.Count)

                        this.lblcount2.Text = dataTable.Rows.Count.ToString();

                }

 

            }

            catch

            {

                this.lblcount1.Text = Convert.ToString((CurPage-1) * PageSize);

                this.lblcount2.Text = dataTable.Rows.Count.ToString();

            }

 

            if (!objPds.IsFirstPage)

            {

                lbPrev.PostBackUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);

            }

 

            if (!objPds.IsLastPage)

            {

                lbNext.PostBackUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);

            }

            return objPds;

        }

 

        //protected void ddlCurrentPage_SelectedIndexChanged(object sender, EventArgs e)

        //{

        //    Response.Redirect(Request.CurrentExecutionFilePath + "?SearchTitle=" + Session["Search"].ToString() + "&Page=" + Convert.ToString(this.ddlCurrentPage.SelectedIndex + 2));

        //}

}

}

 

 

原创粉丝点击