天天看點

DataRabbit 輕量的資料通路架構(10) -- IPagerManager

   (完全限定類名:DataRabbit.Core.IPagerManager)

   PagerParameters param = ...; //建構分頁參數 

   IPagerManager pagerManager= dataAccesser.GetPagerManager(param);

   首先,我們看分頁參數PagerParameters中需要提供哪些資訊:

   分頁參數包括的資訊有:

Table -- 表示對那個資料表進行分頁。

PageSize -- 表示每頁的大小,包含多少條記錄。

PKey -- 表示依據哪個主鍵進行排序分頁。

WhereStr -- 表示查詢條件,僅僅對滿足條件的查詢結果分頁,如果要分頁表中的所有資料,則設定為其值null。

CacherSize -- 表示最大緩存多少個頁面。

Fields -- 表示要傳回的頁中包括哪些列。

FieldAlias -- 表示要進行替換的列的别名。

   通過建構一個PagerParameters執行個體,我們就可以從IDataAccesser擷取目标表的資料分頁管理器IPagerManager執行個體,IPagerManager接口完整定義如下:

    public interface IPagerManager

    {    

        /// <summary>

        /// GetPage 取出第index頁

        /// </summary>       

        DataTable GetPage(int index) ;  

        /// ItemCount 符合條件的記錄總數

        /// </summary>

        int ItemCount{get ;}

        /// PageCount 分頁總數

        int PageCount{get ;}

        /// CacherSize 緩存大小

        int CacherSize{get;}

    }   

   GetPage()方法根據頁的索引index就可以得到對應頁的内容,注意,我們使用DataTable反映一頁的内容。

   下面是對Student表進行分頁,并且将頁綁定到DataGridView顯示的例子:

            PagerParameters para = new PagerParameters("Student", "ID", "", 10);

            IPagerManager pagerManager = dataAccesser.GetPagerManager(para);

            //綁定

            this.dataGridView1.DataSource = pagerManager.GetPage(int.Parse(this.textBox_pageIndex.Text));

繼續閱讀