using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using NHibernate;
using NHibernate.Cfg;
using log4net;
using System.Collections;


namespace operate
{
    public class pagination
    {
        /// <summary>
        /// 2007-10-18 by jt
        /// 分页程序
        /// </summary>
        /// <param name="HQL">HQL语句</param>
        /// <param name="FirstPage">显示页码,首页从0开始</param>
        /// <param name="PageSize">页面记录数</param>
        /// <returns>Ilist集合</returns>
        public static  IList PageList(string HQL, int FirstPage, int PageSize)
        {
            IList Ilist;
            ISession session = SessionManager.GetCurrentSession();
            session.BeginTransaction();

            IQuery Iquery = session.CreateQuery(HQL);
            Iquery.SetFirstResult(FirstPage-1);
            Iquery.SetMaxResults(PageSize);
            Ilist = Iquery.List();

            return Ilist;
        }
        /// <summary>
        /// 2007-10-18 by jt
        /// 记录总数
        /// </summary>
        /// <param name="HQL">HQL语句</param>
        /// <returns>总记录数</returns>
        public static int CountRecord(string HQL)
        {
            int count;
            IList Ilist;
            ISession session = SessionManager.GetCurrentSession();
            session.BeginTransaction();
            Ilist = session.CreateQuery(HQL).List();
            count = Ilist.Count;
            return count;
        }
        /// <summary>
        /// 总页数
        /// </summary>
        /// <param name="CountRecord">总记录数</param>
        /// <param name="PageSize">页面显示条数</param>
        /// <returns>总页面数</returns>
        public static int PageCount(int CountRecord, int PageSize)
        {
            int PageCount;
            if (CountRecord % PageSize == 0)
            {
                PageCount = CountRecord / PageSize;
            }
            else
            {
                PageCount = CountRecord / PageSize + 1;
            }
            return PageCount;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="FirstPage"></param>
        /// <param name="PageSize"></param>
        /// <returns></returns>
        //public IList PageList(object obj, int FirstPage, int PageSize)
        //{
        //    IList Ilist;
        //    return Ilist;
        //}
    }
}

posted on 2009-03-28 08:10  许维光  阅读(407)  评论(0)    收藏  举报