///
/// オブジェクトソートコンパレータファクトリー
/// public class Contributiveperson_SortComparerFactory
{
// / <概要>
///
///
///
returns>
public IComparer
GetSortComparer(string FieldName, ESortType eSortType)
IComparer
{
case "BALDEPER"://Baランス支払い期間
IComparer = new Contributiveperson_BALDEPER_Comparer(eSortType);
case "INV"://Investor
IComparer = new Contributiveperson_INV_Comparer(eSortType); /switch
return IComparer;
}
}//class
このメソッドは、Web サービス インターフェイス側で新しく作成されたメソッドであることがわかります。赤いコードセグメントは並べ替えブロック、緑の注釈はフィルタリングコードブロックです(コードは省略されています)
コード
///
並べ替えの種類: "ASC" ,"DESC " ;
///
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string Load_Contributiveperson_Table_Sort(string FlowID, int PageCount,
int CurrentPage, string SortType, string SortFieldName)
{
List
list = new List();
list = objBusinessFacade.GetTB_WEB_NZ_INVESTMENT_CollectionByFlowID(フロー ID); ContributivePerson_SortComparerFactory objFactory = new ContributivePerson_SortComparerFactory();
IComparer objSort = null;
if (SortType.ToUpper().Trim() == "ASC")
{
objSort = obj Factory SortFieldName,ESortType.ASC);
}
else if (SortType.ToUpper().Trim() == "DESC")
{
objSort = objFactory.GetSortComparer(SortFieldName, ESortType.DESC) );
}
list.Sort(objSort);
//一部省略したコードについては前回の記事を参照してください
return new JavaScriptSerializer().Serialize(list) ) ;
}
コンパレータを追加すると、SQL ステートメントを介して並べ替えることなく、ジェネリック リスト オブジェクトで任意の並べ替えを実現できます。これは、クライアント ページに必要なパラメータを追加するだけで実現できます。中間層サーバーはすでにすべてのコアを実装しています。同時に、どの列を並べ替える必要があるかを決定する必要があります。 [ホームページ] [次のページ] などのボタンでソート順にページをめくるだけです。ここではクライアントコードは省略されています。
[残高支払い期間] 列に従って昇順にソートします。
[投資家]の降順に並べます