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

📄 simplereportcollection.cs

📁 ASP.NET 建立和发布可自定义 Web 报表的指南
💻 CS
字号:
using System;
using System.Collections;

namespace ASPNET.StarterKit.Reports.Components
{
	//*********************************************************************
	//
	// SimpleReportCollection Class 
	//
	// The SimpleReportCollection is a Custom SimpleReport collection used 
	// to represent a list of SimpleReport objects.
	//
	//
	//*********************************************************************
	
	public class SimpleReportCollection : ArrayList
	{	
		public enum SimpleReportFields
		{
			InitValue,
			City,
			CompanyName,
			ContactName,
			ContactTitle,
			Phone
		}
		
		public void Sort(SimpleReportFields sortField, bool isAscending)
		{
			switch (sortField) 
			{
				case SimpleReportFields.City:
					base.Sort(new CityComparer());
					break;
				case SimpleReportFields.CompanyName:
					base.Sort(new CompanyNameComparer());
					break;
				case SimpleReportFields.ContactName:
					base.Sort(new ContactNameComparer());
					break;
				case SimpleReportFields.ContactTitle:
					base.Sort(new ContactTitleComparer());
					break;
				case SimpleReportFields.Phone:
					base.Sort(new PhoneComparer());
					break;
			}

			if (!isAscending) base.Reverse();
		}

		private sealed class CityComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				SimpleReport first = (SimpleReport) x;
				SimpleReport second = (SimpleReport) y;
				return first.City.CompareTo(second.City);
			}
		}

		private sealed class CompanyNameComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				SimpleReport first = (SimpleReport) x;
				SimpleReport second = (SimpleReport) y;
				return first.CompanyName.CompareTo(second.CompanyName);
			}
		}

		private sealed class ContactNameComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				SimpleReport first = (SimpleReport) x;
				SimpleReport second = (SimpleReport) y;
				return first.ContactName.CompareTo(second.ContactName);
			}
		}

		private sealed class ContactTitleComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				SimpleReport first = (SimpleReport) x;
				SimpleReport second = (SimpleReport) y;
				return first.ContactTitle.CompareTo(second.ContactTitle);
			}
		}

		private sealed class PhoneComparer : IComparer 
		{
			public int Compare(object x, object y)
			{
				SimpleReport first = (SimpleReport) x;
				SimpleReport second = (SimpleReport) y;
				return first.Phone.CompareTo(second.Phone);
			}
		}
	}
}

⌨️ 快捷键说明

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