⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pager.cs

📁 工资管理系统
💻 CS
字号:
using System;
using System.Data;
using System.Data.SqlClient;

namespace Datamodel
{
	/* ****************************************************	
				   重庆杰诺软件开发工作室

	QQ:83898700
	EMAIL:gimao@163.com
	url:www.gisii.com
	***************************************************** */
	/// <summary>
	/// Pager 的摘要说明。
	/// </summary>
	public class Pager
	{
		private int _CurrentPage;//当前页
		private int _Maxnum;//最大条数
		private int _RecordCount;//总的记录数
		public string _Sql;//SQL
		public string Sql;
		private string _Urltj;//连接信息
		private DBManager my;

		private static string Btn_First="<font face=webdings>9</font>";//'定义第一页按钮显示样式|<<
		private static string Btn_Prev="<font face=webdings>7</font>";//  '定义前一页按钮显示样式<<
		private static string Btn_Next="<font face=webdings>8</font>";//  '定义下一页按钮显示样式>>
		private static string Btn_Last="<font face=webdings>:</font>";//  '定义最后一页按钮显示样式.>>|

		/// <summary>
		/// 页面显示多少条记录
		/// </summary>
		public int PageSize
		{
			get
			{
				return _Maxnum;
			}
			set
			{
				_Maxnum=value;
			}
		} 
		/// <summary>
		/// 当前页
		/// </summary>
		public int PageCurrent
		{
			get
			{
				return _CurrentPage;
			}
			set
			{
				_CurrentPage=value;
			}
		}
		/// <summary>
		/// 总有多少页
		/// </summary>
		public int PageCount
		{
			get
			{
				return ((_RecordCount+_Maxnum)-1)/_Maxnum;
			}

		}
		/// <summary>
		/// 条件
		/// </summary>
		public string Url_tj
		{
			get
			{
				return _Urltj;
			}set
			 {
				 _Urltj=value;
			 }
		}
		/// <summary>
		/// 总条数
		/// </summary>
		public void RecordCount()
		{
			string sql="select Count(*) as co from ("+_Sql+") A";
			CreateDb mydb = new CreateDb();
			my = mydb.Createdb();
			my.OpenConn();
			IDataReader Rs=my.ExecuteCreateReader(my.ExeCommand(sql));
			if(Rs.Read())
			{
				_RecordCount=Int32.Parse(Rs["co"].ToString());
			}
			else
			{
				_RecordCount=0;
			}
			Rs.Close();
			my.CloseConn();
		}
		/// <summary>
		/// 返回数据集
		/// </summary>
		/// <returns></returns>
		public IDataReader Datainit()
		{
			string sql=string.Empty;

			sql="SELECT TOP "+_Maxnum+" * FROM ("+_Sql+") T WHERE T.id NOT IN (SELECT TOP "+_Maxnum*(_CurrentPage-1)+" id FROM ("+_Sql+") T9 ORDER BY id desc) ORDER BY id desc";
			this.Sql=sql;
			CreateDb mydb = new CreateDb();
			my = mydb.Createdb();
			try
			{
				my.OpenConn();
				return my.ExecuteCreateReader(my.ExeCommand(sql));
			}
			catch(Exception e)
			{
				throw (e);
			}
		}

		public Pager(string strSQL)
		{
			this._Sql=strSQL;
		}
		/// <summary>
		/// 页面连接
		/// </summary>
		/// <returns></returns>
		public string ShowPageinfo()
		{
			if(PageCount>0)
			{
				return "页次:"+_CurrentPage+"/"+PageCount+"页 记录:"+_RecordCount+"条 每页:"+_Maxnum+"条";
			}
			else
			{
				return "";
			}
		}
		/// <summary>
		/// 关闭数据连接
		/// </summary>
		public void CloseConn()
		{
			my.CloseConn();
		}
		/// <summary>
		/// 分页信息
		/// </summary>
		/// <returns></returns>
		public string showintstats()
		{			
			string stats;
			if(PageCount>0)
			{
				if(_CurrentPage==1)
				{
					stats=Btn_First;
				}
				else
				{
					if(_Urltj!="")
					{
						stats="<a href=?Page=1"+_Urltj+">"+Btn_First+"</a>";
					}
					else
					{
						stats="<a href=?Page=1>"+Btn_First+"</a>";
					}
				}
				int pageGroup=(_CurrentPage-1)/10;
				if(pageGroup*10>0)
				{
					if(_Urltj!="")
					{
						stats+="<a href=?Page="+pageGroup*10+_Urltj+">"+Btn_Prev+"</a>";
					}
					else
					{
						stats+="<a href=?Page="+pageGroup*10+">"+Btn_Prev+"</a>";
					}
				}
				for(int i=pageGroup*10+1;i<=pageGroup*10+10;i++)
				{
					if(i==_CurrentPage)
					{
						stats+="<font color=red>["+i+"]</font>";
					}
					else
					{
						if(_Urltj!="")
						{
							stats+="<a href=?Page="+i+_Urltj+">["+i+"]</a>";
						}
						else
						{
							stats+="<a href=?Page="+i+">["+i+"]</a>";
						}
					}
					if(i==PageCount)
					{
						break;
					}
				}
				if((pageGroup*10+10)<PageCount)
				{
					if(_Urltj!="")
					{
						stats+="<a href=?Page="+(pageGroup*10+10+1)+_Urltj+">"+Btn_Next+"</a>";
					}
					else
					{
						stats+="<a href=?Page="+(pageGroup*10+10+1)+">"+Btn_Next+"</a>";
					}
				}
				if(_CurrentPage==PageCount)
				{
					stats+=Btn_Last;
				}
				else
				{
					if(_Urltj!="")
					{
						stats+="<a href=?Page="+PageCount+_Urltj+">"+Btn_Last+"</a>";
					}
					else
					{
						stats+="<a href=?Page="+PageCount+">"+Btn_Last+"</a>";
					}
				}
			}
			else
			{
				stats="";
			}
			return stats;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -