DataList 分页

来源:互联网 发布:梦里花落知多少沐紫苏 编辑:程序博客网 时间:2024/06/05 19:43
 

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            labNowPage.Text = "1";
            _DataBind();
        }
    }

    private void _DataBind()
    {

        if (Request.QueryString["B_Id"].Trim() != "")
        {

            int B_Id = Convert.ToInt32(Request.QueryString["B_Id"].Trim());
            Bind(ProductBrandManager.GetModelList(" B_Id=" + B_Id + ""));
        }
        else
        {
            Bind(ProductBrandManager.GetModelList(""));
        }
    }

    /// <summary>
    /// 分页
    /// </summary>
    public void Bind(List<ProductBrand> lst)
    {
        int curpage = Convert.ToInt32(labNowPage.Text);//当前页
        PagedDataSource pds = new PagedDataSource();

        pds.DataSource = lst;
        pds.AllowPaging = true; //是否可以分页
        pds.PageSize = 12; //显示的数量
        pds.CurrentPageIndex = curpage - 1; //取得当前页的页码
        lnkbtnPrve.Enabled = true;
        lnkbtnTop.Enabled = true;
        lnkbtnNext.Enabled = true;
        lnkbtnLast.Enabled = true;
        if (curpage == 1)
        {
            lnkbtnTop.Enabled = false;//不显示第一页按钮
            lnkbtnPrve.Enabled = false;//不显示上一页按钮
        }
        if (curpage == pds.PageCount)//显示到最
        {
            lnkbtnNext.Enabled = false;//不显示下一页
            lnkbtnLast.Enabled = false;//不显示最后一页

        }
        this.labCount.Text = Convert.ToString(pds.PageCount);//总共多少页
        //赋值给dataList
        this.dlBrandShow.DataSource = pds;
        this.dlBrandShow.DataBind();

    }


    //首页
    protected void lnkbtnTop_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = "1";//为当前页赋值
        this._DataBind();
    }
    //上一页
    protected void lnkbtnPrve_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = (Convert.ToInt32(this.labNowPage.Text) - 1).ToString();//为当前页赋值
        this._DataBind();
    }
    //下一页
    protected void lnkbtnNext_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = (Convert.ToInt32(this.labNowPage.Text) + 1).ToString();//为当前页赋值
        this._DataBind();
    }
    //尾页
    protected void lnkbtnLast_Click(object sender, EventArgs e)
    {
        this.labNowPage.Text = this.labCount.Text;//为当前页赋值
        this._DataBind();
    }