📄 simplereportcollection.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 + -