做最好的自己~~

Be My Personal Best!

导航

对分页控件进行分页的封装


   

 #region 对分页控件进行分页的封装
    /// <summary>
    /// 分页
    /// </summary>
    /// <param name="pagesize">设定分页大的小</param>
    /// <param name="dst">需要的数据集</param>
    /// <param name="nowpage">传递当前页数</param>
    /// <returns>返回值解释:返回分页总数:result[0],上一页:result[1],下一页:result[2],pad:result[3]</returns>

    public object []  Page(int pagesize,DataSet dst,int nowpage)
    {
        int pageCount = 0;//总页数
        int recordCount = 0;//总行数
        object  [] result = new object[4];//返回的字符串
        PagedDataSource pad = new PagedDataSource();
        pad.DataSource = dst.Tables[0].DefaultView;
        pad.AllowPaging = true;
        pad.PageSize = pagesize;//分页大小
        recordCount = dst.Tables[0].Rows.Count;//得到总行数。。。
        pageCount = recordCount / pad.PageSize;//得到总页数。。。
        if (recordCount % pad.PageSize > 0)
        {
            pageCount++;//就是说如果最后一页小于三行时在得到总页数时会少一页。。而这里通此式判断可以加上那一页。。
        }
        result[0] = pageCount.ToString();//返回总页数
        pad.CurrentPageIndex = nowpage - 1;//????????

        //判断是否为上一页
        if (!pad.IsFirstPage)
        {
            result[1] = Convert.ToString(nowpage - 1);
        }
        else
        {
            result[1] = null;
        }
        //判断是否为下一页
        if (!pad.IsLastPage)
        {
            result[2] = Convert.ToString(nowpage + 1);
        }
        else
        {
            result[2] = null;
        }
        result[3] = pad;
        return result;
    }

posted on 2008-05-08 21:00  阿万  阅读(471)  评论(0编辑  收藏  举报