///
/// 객체 정렬 비교기 팩토리
/// 공용 클래스 ContributivePerson_SortComparerFactory
{
// /
///
///
///
/// < return
public IComparer
GetSortComparer(string FieldName, ESortType eSortType)
{
IComparer )
{
case "BALDEPER":// 잔액 지불 기간
IComparer = new ContributivePerson_BALDEPER_Comparer(eSortType);
break
case "INV"://Investor
IComparer = new ContributivePerson_INV_Comparer( eSortType)
break; /switch
return IComparer;
}
}//class
아래에서 사용해 보겠습니다. 이 메서드는 웹 서비스 인터페이스 측에서 새로 작성된 메서드입니다. 빨간색 코드 부분은 정렬 블록, 녹색 주석은 필터링 코드 블록입니다(코드는 생략되었습니다)
코드
// / < ;/summary>
///
///
페이지당 수 param> >///
현재 페이지
///
정렬 유형: "ASC" ,"DESC "///
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
공개 문자열 Load_ContributivePerson_Table_Sort(string FlowID, int PageCount,
int CurrentPage, string SortFieldName)
{
List
list = new Listlist = objBusinessFacade.GetTB_WEB_NZ_INVESTMENT_CollectionByFlowID(Flow ID); ivePerson_SortComparerFactory objFactory = new ContributivePerson_SortComparerFactory();
IComparer objSort = null;
if (SortType.ToUpper().Trim() == "ASC")
{
objSort = obj Factory .GetSortComparer( SortFieldName,ESortType.ASC)
}
else if (SortType.ToUpper().Trim() == "DESC")
{
objSort = objFactory.GetSortComparer(SortFieldName, ESortType.DESC );
}
list.Sort(objSort);
//생략된 코드는 이전 글을 참고하세요
return new JavaScriptSerializer().Serialize(list ) ;
}
비교기를 추가하면 SQL 문을 정렬할 필요 없이 일반 목록 개체에 대해 임의 정렬을 수행할 수 있습니다. 이는 클라이언트 페이지에 필요한 매개변수를 추가함으로써 달성할 수 있습니다. 중간 계층 서버는 이미 모든 코어를 구현했습니다. 동시에 클라이언트 코드는 정렬해야 할 열을 결정하기만 하면 됩니다. 홈페이지] [다음 페이지] 및 기타 버튼은 정렬 순서대로 페이지를 넘기시면 됩니다.
렌더링:
[잔액 납부 기간] 열에 따라 오름차순으로 정렬