天天看点

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));

继续阅读