zoukankan      html  css  js  c++  java
  • DataRabbit 轻量的数据访问框架(10) -- IPagerManager

       (完全限定类名:DataRabbit.Core.IPagerManager

       DataRabbit框架提供了对单表查询的结果进行分页的功能,这就是IPagerManager所完成的目标。我们可以从DataRabbit的入口点IDataAccesser中获取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) ;  

            
    /// <summary>
            
    /// ItemCount 符合条件的记录总数
            
    /// </summary>
            int ItemCount{get ;}

            
    /// <summary>
            
    /// PageCount 分页总数
            
    /// </summary>
            int PageCount{get ;}

            
    /// <summary>
            
    /// CacherSize 缓存大小
            
    /// </summary>
            int CacherSize{get;}
        }   
        通过接口定义,我们看到,IPagerManager没有继承 ITransactionAccesser 接口,这表明,IPagerManager只能在非事务环境中工作。
       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));


    转到:DataRabbit 轻量的数据访问框架 -- 序 




  • 相关阅读:
    ActiveSync合作关系对话框的配置
    WINCE对象存储区(object store)
    Wince 隐藏TASKBAR的方法
    Wince输入法换肤换语言机制
    poj 3080 Blue Jeans 解题报告
    codeforces A. Vasily the Bear and Triangle 解题报告
    hdu 1050 Moving Tables 解题报告
    hdu 1113 Word Amalgamation 解题报告
    codeforces A. IQ Test 解题报告
    poj 1007 DNA Sorting 解题报告
  • 原文地址:https://www.cnblogs.com/zhuweisky/p/683676.html
Copyright © 2011-2022 走看看