DataList 分页

 protected void Page_()
        {
            linkFirst.Enabled = true;
            linkUp.Enabled = true;
            linkUp.Enabled = true;
            linkDown.Enabled = true;

            string strsql = "select * from newsinfo";
            DataSet ds = Sh.GetDataSource(strsql, CommandType.Text);
            PagedDataSource pds = new PagedDataSource();
            pds.DataSource = ds.Tables[0].DefaultView;

            pds.AllowPaging = true;
            pds.PageSize = 2;
            int pagenumber = Convert.ToInt32(this.labPage.Text);
            pds.CurrentPageIndex = pagenumber - 1;

            if (pagenumber == 1)
            {
                linkUp.Enabled = false;
            }
            if (pagenumber == pds.PageCount)
            {
                linkDown.Enabled = false;
            }

            labSum.Text = Convert.ToString(pds.PageCount);

            DLOne.DataSource = pds;
            DLOne.DataBind();
        }

4个linkbutton都能被选中;查询数据库将查询的数据“暂时”放在PagedDataSource中,方的形式是pds.DataSource = ds.Tables[0].DefaultView;通过读内存数据库中的表中的虚拟视图;既然是分页接着就是允许分页,同时指明每一页的页数,因为所以是从0开始的所以有一个-1的过程,接着是判断,当到了第一页的时候就让上一页的这个对应的linkbutton不能被选中,因为已经是第一页了所以上面没有数据了,同理到了最后一页的时候同样也要将下一页的linkbutton的Enabled属性设置为false;大部分都会显示总共有多少页的所以要通过PagedDataSource中的PageCount属性显示一下总共有多少数据的!!!

posted @ 2010-11-25 09:43  Curitis  阅读(144)  评论(0编辑  收藏  举报