C#中DataList分页--使用PagedDataSource实现

Default.aspx代码:

首页 上一页 下一页 末页

 

Default.aspx.cs代码:

using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class _Default : System.Web.UI.Page { private DataTable getData_Jobs() { string sql = "select * from jobs"; DBHelper db = new DBHelper(); return db.getDataSet(sql).Tables[0]; } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { getData(1); } } static int i; private void getData(int pageIndex) { PagedDataSource pd = new PagedDataSource(); pd.AllowPaging = true; pd.PageSize = 2; pd.CurrentPageIndex = pageIndex - 1; pd.DataSource = getData_Jobs().DefaultView; DataList1.DataSource = pd; DataList1.DataBind(); lblCurrent.Text = Convert.ToString(pd.CurrentPageIndex + 1); lblCount.Text = "/"; lblCount.Text += pd.PageCount.ToString(); i = pd.PageCount; if (pd.IsFirstPage) { lbtnFirst.Visible = false; lbtnPrev.Visible = false; } else { lbtnFirst.Visible = true; lbtnPrev.Visible = true; } if (pd.IsLastPage) { lbtnLast.Visible = false; lbtnNext.Visible = false; } else { lbtnLast.Visible = true; lbtnNext.Visible = true; } } protected void lbtnFirst_Command(object sender, CommandEventArgs e) { switch (e.CommandName) { case "First": getData(1); break; case "Next": getData(Convert.ToInt32(lblCurrent.Text) + 1); break; case "Prev": getData(Convert.ToInt32(lblCurrent.Text) - 1); break; case "Last": getData(i); break; default: getData(1); break; } } }

你可能感兴趣的:(C#中DataList分页--使用PagedDataSource实现)