RT

解决方案 »

  1.   

    http://topic.csdn.net/u/20090113/16/cac6480c-84ff-4ae3-8fa1-11cfa39fd8ea.html
      

  2.   

    PagedDataSource自定义分页
    用第三方控件如AspNetPager
    http://www.cnblogs.com/dongshijun/articles/1046029.html
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Data.SqlClient;
    public partial class _Default : System.Web.UI.Page 
    {
        int pagesize = 3;
        protected void Page_Load(object sender, EventArgs e)
        {
           
        }
        private void binddatalist()
        {
            int index = Int32.Parse(ViewState["pageindex"].ToString());
            int count = Int32.Parse(ViewState["pagecount"].ToString());
            SqlConnection conn = new SqlConnection("server=.;database=MSSTB;uid=sa;pwd=sa");
            SqlDataAdapter da = new SqlDataAdapter("select * from Product2", conn);
            conn.Open();
            DataSet ds = new DataSet();
            da.Fill(ds, index * pagesize, pagesize, "Product2");
            Label1.Text = "第" + (index + 1) + "页";
            LinkButton1.Enabled = true;
            LinkButton2.Enabled = true;
            LinkButton3.Enabled = true;
            LinkButton4.Enabled = true;
            if (count == 1)
            {
                LinkButton1.Enabled = false;
                LinkButton2.Enabled = false;
                LinkButton3.Enabled = false;
                LinkButton4.Enabled = false;
                Label1.Text = "当前只有一页";
            }
            else
            {
                if (index == 0)
                {
                    LinkButton1.Enabled = false;
                    LinkButton2.Enabled = false;
                }
                if (index == count - 1)
                {
                    LinkButton4.Enabled = false;
                    LinkButton3.Enabled = false;
                }
            }
            DataList1.DataSource = ds.Tables["Product2"].DefaultView;
            DataList1.DataBind();
        }
        public int CalculateRecord()//返回行数
        {
            int intCount;
            string strCount = "select count(*) as c from Product2";
            SqlConnection Con = new SqlConnection("server=.;database=MSSTB;uid=sa;pwd=sa");
            SqlCommand addCommand = new SqlCommand(strCount, Con);
            addCommand.Connection.Open();
            SqlDataReader dr;
            dr = addCommand.ExecuteReader();
            if (dr.Read())
            {
                intCount = Int32.Parse(dr["c"].ToString());
            }
            else
            {
                intCount = 0;
            }
            dr.Close();
            return intCount;
        }
        protected void putdown(Object sender, CommandEventArgs e)//按钮事件
        {
            int index = Int32.Parse(ViewState["pageindex"].ToString());
            int count = Int32.Parse(ViewState["pagecount"].ToString());
            string cmd = e.CommandName;
            switch (cmd)
            {
                case "first": index = 0;
                    break;
                case "next":
                    if (index < (count - 1)) index++;
                    break;
                case "up":
                    if (index > 0) index--;
                    break;
                case "end": index = count - 1;
                    break;
            }
            ViewState["pageindex"] = index;
            binddatalist();
        }
        protected void Page_Init(object sender, EventArgs e) 
        {        int recordcount = CalculateRecord();//总数
            int pagecount = recordcount / pagesize;
            //如果有多余记录,则页面总数加一
            if (recordcount % pagesize != 0)
            {
                pagecount += 1;
            }
            ViewState["pagecount"] = pagecount;//总行数
            ViewState["pageindex"] = 0;//当前索引
            binddatalist();
        }
    }
      

  4.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Data.SqlClient;
    public partial class _Default : System.Web.UI.Page 
    {
        int pagesize = 3;
        protected void Page_Load(object sender, EventArgs e)
        {
           
        }
        private void binddatalist()
        {
            int index = Int32.Parse(ViewState["pageindex"].ToString());
            int count = Int32.Parse(ViewState["pagecount"].ToString());
            SqlConnection conn = new SqlConnection("server=.;database=MSSTB;uid=sa;pwd=sa");
            SqlDataAdapter da = new SqlDataAdapter("select * from Product2", conn);
            conn.Open();
            DataSet ds = new DataSet();
            da.Fill(ds, index * pagesize, pagesize, "Product2");
            Label1.Text = "第" + (index + 1) + "页";
            LinkButton1.Enabled = true;
            LinkButton2.Enabled = true;
            LinkButton3.Enabled = true;
            LinkButton4.Enabled = true;
            if (count == 1)
            {
                LinkButton1.Enabled = false;
                LinkButton2.Enabled = false;
                LinkButton3.Enabled = false;
                LinkButton4.Enabled = false;
                Label1.Text = "当前只有一页";
            }
            else
            {
                if (index == 0)
                {
                    LinkButton1.Enabled = false;
                    LinkButton2.Enabled = false;
                }
                if (index == count - 1)
                {
                    LinkButton4.Enabled = false;
                    LinkButton3.Enabled = false;
                }
            }
            DataList1.DataSource = ds.Tables["Product2"].DefaultView;
            DataList1.DataBind();
        }
        public int CalculateRecord()//返回行数
        {
            int intCount;
            string strCount = "select count(*) as c from Product2";
            SqlConnection Con = new SqlConnection("server=.;database=MSSTB;uid=sa;pwd=sa");
            SqlCommand addCommand = new SqlCommand(strCount, Con);
            addCommand.Connection.Open();
            SqlDataReader dr;
            dr = addCommand.ExecuteReader();
            if (dr.Read())
            {
                intCount = Int32.Parse(dr["c"].ToString());
            }
            else
            {
                intCount = 0;
            }
            dr.Close();
            return intCount;
        }
        protected void putdown(Object sender, CommandEventArgs e)//按钮事件
        {
            int index = Int32.Parse(ViewState["pageindex"].ToString());
            int count = Int32.Parse(ViewState["pagecount"].ToString());
            string cmd = e.CommandName;
            switch (cmd)
            {
                case "first": index = 0;
                    break;
                case "next":
                    if (index < (count - 1)) index++;
                    break;
                case "up":
                    if (index > 0) index--;
                    break;
                case "end": index = count - 1;
                    break;
            }
            ViewState["pageindex"] = index;
            binddatalist();
        }
        protected void Page_Init(object sender, EventArgs e) 
        {        int recordcount = CalculateRecord();//总数
            int pagecount = recordcount / pagesize;
            //如果有多余记录,则页面总数加一
            if (recordcount % pagesize != 0)
            {
                pagecount += 1;
            }
            ViewState["pagecount"] = pagecount;//总行数
            ViewState["pageindex"] = 0;//当前索引
            binddatalist();
        }
    }