asp.net分頁控件PagedDataSource

在這裏總結了一個資料分頁控件PagedDataSource,首先在頁面的類庫中添加如下代碼

public static PagedDataSource Pds;

//源代碼加入以下代碼,一般放在GridView 或者是Repeater控件之後

<asp:Label ID="lblMessage" runat="server" Text="Label"></asp:Label>&nbsp;

当前第<font color="red"><asp:Label ID="lblCurrentPage" runat="server"></asp:Label></font>页<br />

<asp:Label ID="LabCountPage" runat="server" Text="Label" Visible="false"></asp:Label>

<asp:LinkButton ID="lbFirst" runat="server" OnClick="lbFirst_Click">第一页</asp:LinkButton>&nbsp;

<asp:LinkButton ID="lbPre" runat="server" OnClick="lbPre_Click">上一页</asp:LinkButton>&nbsp;

<asp:LinkButton ID="lbNext" runat="server" OnClick="lbNext_Click">下一页</asp:LinkButton>&nbsp;

<asp:LinkButton ID="lbLast" runat="server" OnClick="lbLast_Click">最后一页</asp:LinkButton><br />


源文件

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

this.lblCurrentPage.Text ="1";

this.contrlRepeater();

}

}

private void contrlRepeater()

{

Comment_Bll comment_bll = new Comment_Bll();

Pds = new PagedDataSource();

int companyID = Convert.ToInt32(Request.QueryString["companyID"]); //公司ID号

Pds.DataSource = comment_bll.Get_commentCompanySet_byCompanyID(companyID).DefaultView;

int recCount = Pds.Count;//总的记录数

Pds.AllowPaging = true;

Pds.PageSize = 10;//每页显示10条记录

Pds.CurrentPageIndex = Convert.ToInt32(this.lblCurrentPage.Text) - 1;


int pageCount = Pds.PageCount; //页数

this.LabCountPage.Text = pageCount.ToString();//总页数

this.lblMessage.Text = "(共<font color='red'>" + recCount.ToString() + "</font>条记录 <font color='red'>" + pageCount.ToString() + "</font>页)";


this.lbPre.Enabled = true;

this.lbFirst.Enabled = true;

this.lbNext.Enabled = true;

this.lbLast.Enabled = true;

if (Pds.CurrentPageIndex < 1)

{

this.lbPre.Enabled = false;

this.lbFirst.Enabled = false;

}

if (Pds.CurrentPageIndex == Pds.PageCount - 1)

{

this.lbNext.Enabled = false;

this.lbLast.Enabled = false;

}

this.rptCommentCompany.DataSource = Pds;

this.rptCommentCompany.DataBind();

}


protected void lbFirst_Click(object sender, EventArgs e)

{

this.lblCurrentPage.Text = "1";

this.contrlRepeater();

}

protected void lbPre_Click(object sender, EventArgs e)

{

this.lblCurrentPage.Text = Convert.ToString(Convert.ToInt32(this.lblCurrentPage.Text) - 1);

this.contrlRepeater();

//else

}

protected void lbNext_Click(object sender, EventArgs e)

{

int cur = Convert.ToInt32(this.lblCurrentPage.Text.Trim()) + 1;

this.lblCurrentPage.Text =cur.ToString() ;

this.contrlRepeater();

}

protected void lbLast_Click(object sender, EventArgs e)

{

this.lblCurrentPage.Text = this.LabCountPage.Text;

this.contrlRepeater();

}


posted on 2009-02-27 21:11  wanghuaide  阅读(205)  评论(0编辑  收藏  举报

导航