龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

详细讲解DataList自定义分页的方法(2)

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
前台Html代码: 共:asp:Label id="lblPageTotal" runat="server"/asp:Label页 asp:LinkButton id="lbFirst" onclick="PagerButton_Click" runat="server" CommandArgument="first"首 页/asp:LinkButton asp:L

前台Html代码:

共:<asp:Label  id="lblPageTotal" runat="server"></asp:Label>页  
<asp:LinkButton id="lbFirst" onclick="PagerButton_Click" runat="server" CommandArgument="first">首 页</asp:LinkButton>
<asp:LinkButton  id="lbPrev" onclick="PagerButton_Click" runat="server" CommandArgument="prev">上一页</asp:LinkButton>
<asp:LinkButton  id="lbNext" onclick="PagerButton_Click" runat="server" CommandArgument="next">下一页</asp:LinkButton>
<asp:LinkButton id="lbLast" onclick="PagerButton_Click" runat="server" CommandArgument="last">尾 页</asp:LinkButton>  
当前:第<asp:Label  id="lblCurrentPage" runat="server"></asp:Label>页  
跳转至:第<asp:DropDownList ID="ddlPage" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlPage_SelectedIndexChanged"></asp:DropDownList>页
后台.cs代码:

Code
protected void Page_Load(object sender, EventArgs e)
{
   if (!IsPostBack)
   {
      ViewState["PageIndex"] = "0"; //第一次生成,页码索引置0
      this.BindGrid();

      ddlPage.Items.Clear();
      for (int i = 0; i < Int32.Parse(lblPageTotal.Text); i++)
      {
         string itemText = (i + 1).ToString();
         ddlPage.Items.Add(new ListItem(itemText, itemText));
      }
   }
}
绑定数据源的方法

Code
private void BindGrid()
{
    DataTable table = this.CreateTable();  //CreateTable这个方法就是获取数据源的了,这里不贴了
    if (table.Rows.Count > 0)
    {
        //对PagedDataSource 对象的相关属性赋值
         objPDS = new PagedDataSource();
        objPDS.DataSource = table.DefaultView;
        objPDS.AllowPaging = true;
        objPDS.PageSize = this.ListSize;  //ListSize属性用于设置每页显示多少条,可以直接指定
        objPDS.CurrentPageIndex = int.Parse(ViewState["PageIndex"].ToString());

        lbFirst.Enabled = true;
        lbPrev.Enabled = true;
        lbNext.Enabled = true;
        lbLast.Enabled = true;
        //判断当前页是否首页
         if (objPDS.IsFirstPage)
        {
            lbFirst.Enabled = false;
            lbPrev.Enabled = false;
        }
        //判断当前页是否尾页
         if (objPDS.IsLastPage)
        {
            lbNext.Enabled = false;
            lbLast.Enabled = false;
        }
        this.dl_LinkList.DataSource = objPDS;
        this.dl_LinkList.DataBind();

        lblPageTotal.Text = objPDS.PageCount.ToString();
        lblCurrentPage.Text = (objPDS.CurrentPageIndex + 1).ToString();
     }
     else
     {
        this.dl_LinkList.DataSource = table;
        this.dl_LinkList.DataBind();
     }
}


精彩图集

赞助商链接