我们何不把这分页功能给封装起来呢?
让我们来分析一下分页的封装到底要实现那些功能:
- 数据显示控件不应该关心“页”的问题,因为它的功能是显示数据,你只需要把它要显示的数据给它就行了;
- 你必须承认分页的独立性,它与任何显示控件物理上是隔离的,所以我们在设计该控件时不应该考虑任何数据显示控件;
- 分页控件需要维护一个“当前页”、“页大小”的上下文;
- 要确定分页控件的数据无关性(这里的“数据”指的是在数据显示控件中显示的数据),数据显示控件的数据源应该由系统的“业务层”提供, 而业务层的数据提供服务所查询的具体数据有分页控件的“当前页”、“页大小”确定(如:GetData(int pageIndex,int pageSize););
- 分页控件必须能够维护当前页面的参数;
- 分页控件能够维护统一的风格(由用户指定显示样式,否则就显示默认样式)。
首先实现的是SimplePaper维护的数据及属性,每个属性的描述这里就不再详述了
1
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
2
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
3
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
4
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
5
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
6
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
7
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
8
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
9
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
10
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
11 /// <summary>
12
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
13
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
14
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
15
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
16 public string Class {
17 get {
18
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
19
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
20 set {
21
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
22
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
23
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
24
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
25 /// <summary>
26
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
27
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
28
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
29
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
30 public string PrevText {
31 get {
32
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
33
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
34 set {
35
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
36
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
37
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
38
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
39 /// <summary>
40
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
41
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
42
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
43
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
44 public string NextText {
45 get {
46
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
47
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
48 set {
49
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
50
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
51
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
52
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
53 /// <summary>
54
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
55
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
56
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
57
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
58 public string FirstText {
59 get {
60
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
61
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
62 set {
63
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
64
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
65
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
66
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
67 /// <summary>
68
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
69
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
70
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
71
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
72 public string LastText {
73 get {
74
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
75
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
76 set {
77
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
78
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
79
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
80
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
81 /// <summary>
82
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
83
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
84
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
85
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
86 public int PageSize {
87 get {
88
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
89
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
90 set {
91
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
92
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
93
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
94
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
95 /// <summary>
96
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
97
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedBlockEnd.gif)
98
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
99
![](http://www.winu.cn/Images/OutliningIndicators/None.gif)
100 public int NumberCount {
101 get {
102
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)
103
![](http://www.winu.cn/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
104 set {
105
![](http://www.winu.cn/Images/OutliningIndicators/InBlock.gif)