我们何不把这分页功能给封装起来呢?
让我们来分析一下分页的封装到底要实现那些功能:
- 数据显示控件不应该关心“页”的问题,因为它的功能是显示数据,你只需要把它要显示的数据给它就行了;
- 你必须承认分页的独立性,它与任何显示控件物理上是隔离的,所以我们在设计该控件时不应该考虑任何数据显示控件;
- 分页控件需要维护一个“当前页”、“页大小”的上下文;
- 要确定分页控件的数据无关性(这里的“数据”指的是在数据显示控件中显示的数据),数据显示控件的数据源应该由系统的“业务层”提供, 而业务层的数据提供服务所查询的具体数据有分页控件的“当前页”、“页大小”确定(如:GetData(int pageIndex,int pageSize););
- 分页控件必须能够维护当前页面的参数;
- 分页控件能够维护统一的风格(由用户指定显示样式,否则就显示默认样式)。
首先实现的是SimplePaper维护的数据及属性,每个属性的描述这里就不再详述了
1

2

3

4

5

6

7

8

9

10

11 /// <summary>
12

13

14

15

16 public string Class {
17 get {
18

19

20 set {
21

22

23

24

25 /// <summary>
26

27

28

29

30 public string PrevText {
31 get {
32

33

34 set {
35

36

37

38

39 /// <summary>
40

41

42

43

44 public string NextText {
45 get {
46

47

48 set {
49

50

51

52

53 /// <summary>
54

55

56

57

58 public string FirstText {
59 get {
60

61

62 set {
63

64

65

66

67 /// <summary>
68

69

70

71

72 public string LastText {
73 get {
74

75

76 set {
77

78

79

80

81 /// <summary>
82

83

84

85

86 public int PageSize {
87 get {
88

89

90 set {
91

92

93

94

95 /// <summary>
96

97

98

99

100 public int NumberCount {
101 get {
102

103

104 set {
105
