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

📄 pagelister.cs

📁 多种打印控件 多种打印控件 多种打印控件 多种打印控件
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Drawing.Design;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Yinde.Cnc.PageLister
{
	
	/// <summary>
	/// 数据进行分页的的服务器控件。
	/// </summary>
	[
	DefaultProperty("PageSize"),
	DefaultEvent("PageIndexChanged"),
	Description("用于ASP.Net Web应用程序的分页控件"),
	ToolboxBitmap(typeof(PageLister),"PageLister.bmp")
	]
	public class PageLister:WebControl,IPostBackEventHandler
	{
		#region 页码属性
		/// <summary>
		/// 获取或设置当前显示页的索引。
		/// </summary>
		[
		ReadOnly(true),
		Browsable(false),
		Description("当前显示页的索引。"),
		DefaultValue(1),
		DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
		]
		public int PageIndex
		{
			get
			{
				object obj=ViewState["PageIndex"];
				return (obj==null)?1:(int)obj;
			}
			set
			{
				int pageIndex=value;
				if(pageIndex<1)
					pageIndex=1;
				else if(pageIndex>PageCount)
					pageIndex=PageCount;
				ViewState["PageIndex"]=pageIndex;
			}
		}

		/// <summary>
		/// 获取或设置要单页上显示的项数。
		/// </summary>
		[
		Browsable(true),
		Description("每页显示的记录数。"),
		Category("分页"),
		DefaultValue(10)
		]
		public int PageSize
		{
			get
			{
				object obj=ViewState["PageSize"];
				return (obj==null)?10:(int)obj;
			}
			set
			{
				ViewState["PageSize"]=value;
			}
		}

		/// <summary>
		/// 获取或设置需要分页的所有记录的总数。
		/// </summary>
		[
		Browsable(false),
		Description("要分页的所有记录的总数。"),
		DefaultValue(225)
		]
		public int RecordCount
		{
			get
			{
				object obj=ViewState["Recordcount"];
				return (obj==null)?225:(int)obj;
			}
			set
			{
				ViewState["Recordcount"]=value;
			}
		}

		/// <summary>
		/// 获取在本页显示的记录开始的索引。
		/// </summary>
		[
		Browsable(false),
		DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
		]
		private int RecordStartIndex
		{
			get
			{
				return RecordCount==0?0:(PageIndex-1)*PageSize+1;
			}
		}

		/// <summary>
		/// 获取在本页显示的记录结束的索引。
		/// </summary>
		[
		Browsable(false),
		DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
		]
		private int RecordEndIndex
		{
			get
			{
				return (PageIndex*PageSize>RecordCount)?RecordCount:PageIndex*PageSize;
			}
		}

		/// <summary>
		/// 获取所有要分页的总页数。
		/// </summary>
		[
		Browsable(false),
		DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
		]
		private int PageCount
		{
			get
			{
				return (int)Math.Ceiling((double)RecordCount/(double)PageSize);
			}
		}
		/// <summary>
		/// 获得当前页码组的索引
		/// </summary>
		[
		Browsable(false),
		DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
		]
		private int GroupIndex
		{
			get
			{
				return (int)Math.Ceiling((double)PageIndex/(double)NumericButtonCount);
			}
		}
		/// <summary>
		/// 获得页码组的总数
		/// </summary>
		[
		Browsable(false),
		DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)
		]
		private int GroupCount
		{
			get
			{
				return (int)Math.Ceiling((double)PageCount/(double)NumericButtonCount);
			}
		}
		#endregion

		#region 样式属性
		
		/// <summary>
		/// 获取或设置一个值,该值指示是否在页导航元素中显示第一页和最后一页按钮。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		Description("是否在页导航元素中显示第一页和最后一页按钮。"),
		DefaultValue(true)
		]
		public bool ShowFirstLast
		{
			get
			{
				object obj=ViewState["ShowFirstLast"];
				return (obj==null)?true:(bool)obj;
			}
			set
			{
				ViewState["ShowFirstLast"]=value;
			}
		}

		/// <summary>
		/// 获取或设置一个值,该值指示是否在页导航元素中显示上一页和下一页按钮。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		Description("是否在页导航元素中显示上一页和下一页按钮。"),
		DefaultValue(true)
		]
		public bool ShowPrevNext
		{
			get
			{
				object obj=ViewState["ShowPreviousNext"];
				return (obj==null)?true:(bool)obj;
			}
			set
			{
				ViewState["ShowPreviousNext"]=value;
			}
		}

		/// <summary>
		/// 获取或设置一个值,该值指示是否在页导航元素中显示页索引数值按钮。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		Description("是否在页导航元素中显示数值按钮。"),
		DefaultValue(true)
		]
		public bool ShowPageIndex
		{
			get
			{
				object obj=ViewState["ShowPageIndex"];
				return (obj==null)?true:(bool)obj;
			}
			set
			{
				ViewState["ShowPageIndex"]=value;
			}
		}

		/// <summary>
		/// 获取或设置一个值,该值指定是否显示已禁用的按钮。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		Description("是否显示已禁用的按钮。"),
		DefaultValue(true)
		]
		public bool ShowDisabledButton
		{
			get
			{
				object obj=ViewState["ShowDisabledButton"];
				return (obj==null)?true:(bool)obj;
			}
			set
			{
				ViewState["ShowDisabledButton"]=value;
			}
		}
		/// <summary>
		/// 获取或设置为第一页按钮显示的文本。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		Description("第一页按钮上显示的文本。"),
		DefaultValue("|<<")
		]
		public string FirstPageText
		{
			get
			{
				object obj=ViewState["FirstPageText"];
				return (obj==null)?"|<<":(string)obj;
			}
			set
			{
				ViewState["FirstPageText"]=value;
			}
		}

		/// <summary>
		/// 获取或设置为上一页按钮显示的文本。
		/// </summary>
		[
		Browsable(true),
		Description("上一页按钮上显示的文本。"),
		Category("样式"),
		DefaultValue("<")
		]
		public string PrevPageText
		{
			get
			{
				object obj=ViewState["PrevPageText"];
				return (obj==null)?"<":(string)obj;
			}
			set
			{
				ViewState["PrevPageText"]=value;
			}
		}

		/// <summary>
		/// 获取或设置为下一页按钮显示的文本。
		/// </summary>
		[
		Browsable(true),
		Description("下一页按钮上显示的文本。"),
		Category("样式"),
		DefaultValue(">")
		]
		public string NextPageText
		{
			get
			{
				object obj=ViewState["NextPageText"];
				return (obj==null)?">":(string)obj;
			}
			set{ViewState["NextPageText"]=value;}
		}

		/// <summary>
		/// 获取或设置为最后一页按钮显示的文本。
		/// </summary>
		[
		Browsable(true),
		Description("最后一页按钮上显示的文本。"),
		Category("样式"),
		DefaultValue(">>|")
		]
		public string LastPageText
		{
			get
			{
				object obj=ViewState["LastPageText"];
				return (obj==null)?">>|":(string)obj;
			}
			set
			{
				ViewState["LastPageText"]=value;
			}
		}

		/// <summary>
		/// 获取或设置页导航元素中同时显示的数值按钮的数目。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		Description("要显示的页索引数值按钮的数目。"),
		DefaultValue(10)
		]
		public int NumericButtonCount
		{
			get
			{
				object obj=ViewState["NumericButtonCount"];
				return (obj==null)?10:(int)obj;
			}
			set
			{
				ViewState["NumericButtonCount"]=value;
			}
		}

		
		/// <summary>
		/// 获取或设置页索引数值导航按钮上文字的显示格式。
		/// </summary>
		[
		Browsable(true),
		DefaultValue(""),
		Category("样式"),
		Description("页索引数值按钮上文字的显示格式。")
		]
		public string NumericButtonTextFormatString
		{
			get
			{
				object obj=ViewState["NumericButtonTextFormatString"];
				return (obj==null)?String.Empty:(string)obj;
			}
			set
			{
				ViewState["NumericButtonTextFormatString"]=value;
			}
		}

		/// <summary>
		/// 获取或设置分页导航按钮之间的间距。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		DefaultValue(typeof(Unit),"5px"),
		Description("分页导航按钮之间的间距。")
		]
		public Unit ButtonSpacing
		{
			get
			{
				object obj=ViewState["ButtonSpacing"];
				return (obj==null)?Unit.Pixel(5):(Unit.Parse(obj.ToString()));
			}
			set
			{
				ViewState["ButtonSpacing"]=value;
			}
		}

		/// <summary>
		/// 获取或设置导航按钮的CSS样式文本。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		DefaultValue(""),
		Description("应用于导航按钮的CSS样式文本。")
		]
		public string PageButtonCssClass
		{
			get
			{
				object obj=ViewState["PageButtonCssClass"];
				return (obj==null)?CssClass:(string)obj;
			}
			set
			{
				ViewState["PageButtonCssClass"]=value;
			}
		}

		/// <summary>
		/// 获取或设置当前页码导航按钮的CSS样式文本。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		DefaultValue(""),
		Description("应用于当前页码导航按钮的CSS样式文本。")
		]
		public string CurrentPageButtonCssClass
		{
			get
			{
				object obj=ViewState["CurrentPageButtonCssClass"];
				return (obj==null)?CssClass:(string)obj;
			}
			set
			{
				ViewState["CurrentPageButtonCssClass"]=value;
			}
		}

		/// <summary>
		/// 获取或设置不可用导航按钮的CSS样式文本。
		/// </summary>
		[
		Browsable(true),
		Category("样式"),
		DefaultValue(""),
		Description("应用于不可用导航按钮的CSS样式文本。")
		]
		public string DisabledPageButtonCssClass
		{
			get
			{
				object obj=ViewState["DisabledPageButtonCssClass"];
				return (obj==null)?CssClass:(string)obj;
			}
			set
			{
				ViewState["DisabledPageButtonCssClass"]=value;
			}
		}

		#endregion
		
		#region 扩展信息属性
		/// <summary>
		/// 获取或设置显示扩展信息区的方式。
		/// </summary>
		[
		Browsable(true),
		Category("扩展信息"),
		Description("显示扩展信息的方式及位置。"),
		DefaultValue(ShowExpendInfo.Never)
		]
		public ShowExpendInfo ShowExpendInfo
		{
			get
			{
				object obj=ViewState["ShowExpendInfo"];
				return (obj==null)?ShowExpendInfo.Never:(ShowExpendInfo)obj;
			}
			set{ViewState["ShowExpendInfo"]=value;}
		}

		/// <summary>
		/// 获取或设置用户自定义信息区文本的对齐方式。
		/// </summary>
		[
		Browsable(true),
		Category("扩展信息"),

⌨️ 快捷键说明

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