日期:2014-05-17  浏览次数:20376 次

使用Repeater控件 怎么实现分页功能
使用Repeater控件 怎么实现 分页

------解决方案--------------------
namespace WebApplication.Repeater分页
{
public partial class Default : System.Web.UI.Page
{
SqlConnection conn;
string connStr = "server=.;database=db_04;uid=sa;pwd=sa";
protected void Page_Load(object sender, EventArgs e)
{
Bind();
}

public void Bind()
{
int curpage = Convert.ToInt32(this.labPage.Text);
PagedDataSource ps = new PagedDataSource();
conn = new SqlConnection(connStr);
string sqlStr = "select a.*,b.* from tb_Card as a join tb_Module as b on a.ModuleID=b.ModuleID";
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);
DataSet ds = new DataSet();
da.Fill(ds, "tb_Card");
ps.DataSource = ds.Tables["tb_Card"].DefaultView;
ps.AllowPaging = true;
ps.PageSize = 2;
ps.CurrentPageIndex = curpage - 1;//取得当前页的页码
this.lnkbtnBack.Enabled = true;
this.lnkbtnNext.Enabled = true;
this.lnkbtnOne.Enabled = true;
this.lnkbtnUp.Enabled = true;
if (curpage == 1)
{
this.lnkbtnUp.Enabled = false;
this.lnkbtnOne.Enabled = false;
}
if (curpage == ps.PageCount)
{
this.lnkbtnNext.Enabled = false;
this.lnkbtnBack.Enabled = false;
}
this.labBackPage.Text = Convert.ToString(ps.PageCount);
Repeater1.DataSource = ps;
Repeater1.DataBind();
}

protected void lnkbtnOne_Click(object sender, EventArgs e)
{
this.labPage.Text = "1";
Bind();
}

protected void lnkbtnUp_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1);
Bind();
}

protected void lnkbtnNext_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1);
Bind();
}

protected void lnkbtnBack_Click(object sender, EventArgs e)
{
this.labPage.Text = this.labBackPage.Text;
Bind();
}
}
}