protected void lnkBtnFirst_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = "1"; //第一页
DataListBind();
}
protected void lnkBtnPrevious_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = (Convert.ToInt32(lblCurrentPage.Text) - 1).ToString(); //上一页
DataListBind();
}
protected void lnkBtnNext_Click(object sender, EventArgs e)
{
lblCurrentPage.Text = (Convert.ToInt32(lblCurrentPage.Text) + 1).ToString(); //下一页
DataListBind();
}
protected void lnkBtnLast_Click(object sender, EventArgs e) //最后一页
{
lblCurrentPage.Text = lblSumPage.Text;
DataListBind();
}
/// <summary>
/// 绑定DataList控件,并且设置分页
/// </summary>
/// <param name="infoType">信息类型</param>
/// <param name="infoKey">查询的关键字(如果为空,则查询所有)</param>
/// <param name="currentPage">当前页</param>
/// <param name="PageSize">每页显示数量</param>
/// <returns>返回PagedDataSource对象</returns>
public PagedDataSource PageDataListBind(string infoType, string infoKey, int currentPage,int PageSize)
{
PagedDataSource pds = new PagedDataSource();
pds.DataSource = SelectInfo(infoType, infoKey).Tables[0].DefaultView; //将查询结果绑定到分页数据源上。
pds.AllowPaging = true; //允许分页
pds.PageSize = PageSize; //设置每页显示的页数
pds.CurrentPageIndex = currentPage - 1; //设置当前页
return pds;
}
/// <summary>
/// 将数据绑定到DataList控件
/// </summary>
public void DataListBind()
{
//将分页结果设置结果赋值给新的页数据源对象
pds = operation.PageDataListBind(infoType, infoKey, Convert.ToInt32(lblCurrentPage.Text), 10);
lnkBtnFirst.Enabled = true; //控件翻页控件都设置为可用
lnkBtnLast.Enabled = true;
lnkBtnNext.Enabled = true;
lnkBtnPrevious.Enabled = true;
if (lblCurrentPage.Text == "1") //如果当前显示第一页,“第一页”和“上一页”按钮不可用。
{
lnkBtnPrevious.Enabled = false;
lnkBtnFirst.Enabled = false;
}
if (lblCurrentPage.Text == pds.PageCount.ToString()) //如果显示最后一页,“末一页”和“下一页”按钮不可用。
{
lnkBtnNext.Enabled = false;
lnkBtnLast.Enabled = false;
}
lblSumPage.Text = pds.PageCount.ToString(); //实现总页数
dlFree.DataSource = pds; //绑定数据源
dlFree.DataKeyField = "id";
dlFree.DataBind();
}