C#ページング論理処理クラス

システムが使用して; 
System.Collections.Genericを使用して、
System.Linqのを使用して、
System.Textのを使用して、

名前空間の共通
{ 
    /// <まとめ> 
    ///タブ論理処理基づい
    /// </要約> 
    パブリッククラスPageCollection 
    { 
        /// <まとめ> 
        ///ページ
        /// </要約> 
        公共INT {GET TotalPages; SET;} 
        /// <まとめ> 
        ///現在のページ
        /// </要約> 
        公共のint currentPageに{GET、SET ;} 
        /// <まとめ> 
        ///あたりのレコードの数
        /// </要約> 
        公共のint OnePageSize {GET、SET;}  
        /// <要約>
        ///レコードの総数を 
        /// </要約> 
        公衆ロングtotalRows {GET、SET;} 
        /// <まとめ> 
        ///ソート
        /// </要約> 
        公共の文字列のOrderBy {GET、SET;} 

        // / <まとめ> 
        非デフォルトの///設定された最大数パラメータ
        /// </要約> 
        パブリックPageCollection()
        { 
            this.CurrentPage = 0; 
            this.OnePageSize = 20である行の//デフォルトの最大数20 
        } 
    } 
    // / <まとめ> 
    ///論理基づく処理をページングentites LINQ 
    /// </要約> 
    パブリッククラスPageInfo <TEntity> WHERE TEntity:クラス
    {
        PageInfo公開(int型のインデックス、pageSizeをint型、int型COUNT、リスト<TEntity>リスト、文字列のURL = "")
        { 
            インデックス=インデックス; 
            のPageSize =のpageSize; 
            カウント= COUNT; 
            リスト一覧=; 
            のURL = URL; 
            //計算ストライプ終わりの値に先頭から数
            IF(COUNT == 0)
            { 
                ; BeginPage = 0 
                ENDPAGE = 0; 
            } 
            そうでなければ
            { 
                INT maxPage = COUNT / pageSizeを、

                IF(COUNT%のpageSize> 0)
                { 
                    maxPage ++; 
                }
                IF(インデックス> = maxpage) 
        公共の一覧<TEntity>リスト{取得します。セット; }
                { 
                    インデックス= maxpage。

                    BeginPage =のpageSize *インデックス-のpageSize + 1; 
                    ENDPAGE =数えます。
                } 
                { 
                    BeginPage =のpageSize *指数-のpageSize + 1。
                    ENDPAGE =のpageSize *インデックス。
                } 
            } 
        } 

        公共のint型のインデックス{取得します。プライベートセット; } 
        公共のintがPageSize {得ます。プライベートセット; } 
        公共のint型のカウント{取得します。プライベートセット; } 
        パブリック文字列のURL {得ます。セット; } 
        公共のint BeginPage {得ます。プライベートセット; }
        {ENDPAGEのGETを公開int型、プライベートSETを;} 
    } 

    /// <まとめ> 
    ///タブ論理処理基づく動的
    /// </要約> 
    パブリッククラスPageInfo 
    { 
        公共PageInfo(int型のインデックスのpageSize int型、INT COUNT、動的リスト、URL文字列= "")
        { 
            指数=指標; 
            がPageSize =のpageSize; 
            カウント= COUNT; 
            リスト一覧=; 
            のURL = URL; 
            //の開始から終了までのデータ値の個数を計算する
            IF(COUNT == 0)
            { 
                BeginPage = 0; 
                ENDPAGE = 0; 
            { 
            }
            他の
                int型maxpage =数/ pageSizeを。

                IF(数%のpageSize> 0)
                { 
                    maxpage ++。
                } 
                (指数> = maxpage)であれば
                { 
                    インデックス= maxpage。

                    BeginPage =のpageSize *インデックス-のpageSize + 1; 
                    ENDPAGE =数えます。
                } 
                { 
                    BeginPage =のpageSize *指数-のpageSize + 1。
                    ENDPAGE =のpageSize *インデックス。
                } 
            } 
        } 

        公共のint型のインデックス{取得します。プライベートセット; }
        公共int型のPageSize {取得します。プライベートセット; } 
        公共のint型のカウント{取得します。プライベートセット; } 
        パブリック動的リスト{得ます。プライベートセット; } 
        パブリック文字列のURL {得ます。セット; } 
        公共のint BeginPage {得ます。プライベートセット; } 
        公共int型のENDPAGE {得ます。プライベートセット; } 
    } 

    /// <要約> 
    /// Eazyui分页处理逻辑类
    /// </要約> 
    パブリッククラスPageEazyUi 
    { 
        公共PageEazyUi(INT _page、INT _PAGESIZE、INT _Total、オブジェクト_rows)
        { 
            ページ= _page。
            ページサイズ= _PAGESIZE。
        }
            合計= _Total。
            行= _rows。

        公共int型のページ{取得します。プライベートセット; } 
        公共のint PAGESIZE {GET。プライベートセット; } 
        公共int型の合計{GET。プライベートセット; } 
        パブリックオブジェクト列{得ます。プライベートセット; } 
    } 
}

  

おすすめ

転載: www.cnblogs.com/fengyh/p/12016117.html