分页控件1
1
using System;
2
using System.Web.UI;
3
using System.Web.UI.WebControls;
4
using System.ComponentModel;
5
using System.Drawing;
6
7
namespace DataPage
8

{
9
public enum Position
{ Front, Back}
10
/**//// <summary>
11
/// WebDataPage 的摘要说明。
12
/// </summary>
13
[DefaultProperty("Text"),
14
ToolboxData("<{0}:WebDataPage runat=server></{0}:WebDataPage>")]
15
public class WebDataPage : System.Web.UI.WebControls.WebControl,INamingContainer
16
{
17
Function#region Function
18
19
GetInt#region GetInt
20
private int GetInt(object obj)
21
{
22
int iReturn = 0;
23
if( obj != null )
24
{
25
iReturn = (int)obj;
26
}
27
return iReturn;
28
}
29
#endregion
30
31
GetString#region GetString
32
private string GetString(string strValue)
33
{
34
return strValue;
35
}
36
private string GetString(object obj)
37
{
38
if( obj == null )
39
{
40
return "";
41
}
42
else
43
{
44
return obj.ToString();
45
}
46
}
47
#endregion
48
49
GetBoolean#region GetBoolean
50
private bool GetBoolean(object obj)
51
{
52
if( obj != null )
53
{
54
return (bool)obj;
55
}
56
else
57
{
58
return true;
59
}
60
}
61
#endregion
62
63
SetDropDownListValue#region SetDropDownListValue
64
private void SetDropDownListValue(DropDownList ddl, int iValue)
65
{
66
if( ddl != null )
67
{
68
for(int i=1; i<= iValue; i++)
69
{
70
ListItem lst = new ListItem();
71
lst.Value = i.ToString();
72
lst.Text = "第" + i.ToString() + "页";
73
ddl.Items.Add( lst );
74
}
75
}
76
}
77
#endregion
78
79
#endregion
80
81
页码#region 页码
82
83
PageCount 获取或设置总页数#region PageCount 获取或设置总页数
84
/**//// <summary>
85
/// 获取或设置总页数
86
/// </summary>
87
public int PageCount
88
{
89
get
90
{
91
if( PageSize == 0)
92
{
93
ViewState[ "PageCount" ] = 0;
94
}
95
else
96
{
97
if( RecordCount % PageSize > 0 )
98
{
99
ViewState[ "PageCount" ] = RecordCount / PageSize + 1;
100
}
101
else
102
{
103
ViewState[ "PageCount" ] = RecordCount / PageSize;
104
}
105
}
106
return GetInt( ViewState[ "PageCount" ] );
107
}
108
set
109
{
110
ViewState[ "PageCount" ] = value;
111
}
112
}
113
#endregion
114
115
RecordCount 获取或设置记录总数#region RecordCount 获取或设置记录总数
116
/**//// <summary>
117
/// 获取或设置记录总数
118
/// </summary>
119
public int RecordCount
120
{
121
get
122
{
123
return GetInt( ViewState[ "RecordCount" ] );
124
}
125
set
126
{
127
ViewState[ "RecordCount" ] = value;
128
}
129
}
130
#endregion
131
132
PageSize 设置每页显示的记录数#region PageSize 设置每页显示的记录数
133
/**//// <summary>
134
/// 设置每页显示的记录数
135
/// </summary>
136
public int PageSize
137
{
138
get
139
{
140
return GetInt( ViewState[ "PageSize" ] );
141
}
142
set
143
{
144
ViewState[ "PageSize" ] = value;
145
}
146
}
147
#endregion
148
149
CurrentPageIndex 获取或设置当前页#region CurrentPageIndex 获取或设置当前页
150
/**//// <summary>
151
/// 获取或设置当前页
152
/// </summary>
153
public int CurrentPageIndex
154
{
155
get
156
{
157
return GetInt( ViewState[ "CurrentPageIndex" ] );
158
}
159
set
160
{
161
ViewState[ "CurrentPageIndex" ] = value;
162
}
163
}
164
#endregion
165
166
#endregion
167
168
信息是否显示#region 信息是否显示
169
170
RecordCountIsVisible 总共N条记录是否显示#region RecordCountIsVisible 总共N条记录是否显示
171
/**//// <summary>
172
/// 总共N条记录是否显示
173
/// </summary>
174
public bool RecordCountIsVisible
175
{
176
get
177
{
178
return GetBoolean( ViewState[ "RecordCountIsVisible" ] );
179
}
180
set
181
{
182
ViewState[ "RecordCountIsVisible" ] = value;
183
}
184
}
185
#endregion
186
187
PageCountIsVisible 共N页是否显示#region PageCountIsVisible 共N页是否显示
188
/**//// <summary>
189
/// 共N页是否显示
190
/// </summary>
191
public bool PageCountIsVisible
192
{
193
get
194
{
195
return GetBoolean( ViewState[ "PageCountIsVisible" ] );
196
}
197
set
198
{
199
ViewState[ "PageCountIsVisible" ] = value;
200
}
201
}
202
#endregion
203
204
CurrentPageIndexIsVisible 第N页是否显示#region CurrentPageIndexIsVisible 第N页是否显示
205
/**//// <summary>
206
/// 第N页是否显示
207
/// </summary>
208
public bool CurrentPageIndexIsVisible
209
{
210
get
211
{
212
return GetBoolean( ViewState[ "CurrentPageIndexIsVisible" ] );
213
}
214
set
215
{
216
ViewState[ "CurrentPageIndexIsVisible" ] = value;
217
}
218
}
219
#endregion
220
221
FirstPageIsVisible 首页是否显示#region FirstPageIsVisible 首页是否显示
222
/**//// <summary>
223
/// 首页是否显示
224
/// </summary>
225
public bool FirstPageIsVisible
226
{
227
get
228
{
229
return GetBoolean( ViewState[ "FirstPageIsVisible" ] );
230
}
231
set
232
{
233
ViewState[ "FirstPageIsVisible" ] = value;
234
}
235
}
236
#endregion
237
238
PrevPageIsVisible 上一页是否显示#region PrevPageIsVisible 上一页是否显示
239
/**//// <summary>
240
/// 上一页是否显示
241
/// </summary>
242
public bool PrevPageIsVisible
243
{
244
get
245
{
246
return GetBoolean( ViewState[ "PrevPageIsVisible" ] );
247
}
248
set
249
{
250
ViewState[ "PrevPageIsVisible" ] = value;
251
}
252
}
253
#endregion
254
255
NextPageIsVisible 下一页是否显示#region NextPageIsVisible 下一页是否显示
256
/**//// <summary>
257
/// 下一页是否显示
258
/// </summary>
259
public bool NextPageIsVisible
260
{
261
get
262
{
263
return GetBoolean( ViewState[ "NextPageIsVisible" ] );
264
}
265
set
266
{
267
ViewState[ "NextPageIsVisible" ] = value;
268
}
269
}
270
#endregion
271
272
LastPageIsVisible 最后一页是否显示#region LastPageIsVisible 最后一页是否显示
273
/**//// <summary>
274
/// 最后一页是否显示
275
/// </summary>
276
public bool LastPageIsVisible
277
{
278
get
279
{
280
return GetBoolean( ViewState[ "LastPageIsVisible" ] );
281
}
282
set
283
{
284
ViewState[ "LastPageIsVisible" ] = value;
285
}
286
}
287
#endregion
288
289
SelectPageIsVisible 下拉列表框是否显示#region SelectPageIsVisible 下拉列表框是否显示
290
/**//// <summary>
291
/// 下拉列表框是否显示
292
/// </summary>
293
public bool SelectPageIsVisible
294
{
295
get
296
{
297
return GetBoolean( ViewState[ "SelectPageIsVisible" ] );
298
}
299
set
300
{
301
ViewState[ "SelectPageIsVisible" ] = value;
302
}
303
}
304
#endregion
305
306
#endregion
307
308
文本内容#region 文本内容
309
310
FirstPageText 首页文本内容#region FirstPageText 首页文本内容
311
/**//// <summary>
312
/// 首页文本内容
313
/// </summary>
314
public string FirstPageText
315
{
316
get
317
{
318
return GetString( ViewState[ "FirstPageText" ] );
319
}
320
set
321
{
322
ViewState[ "FirstPageText" ] = value;
323
}
324
}
325
#endregion
326
327
PrevPageText 上一页文本内容#region PrevPageText 上一页文本内容
328
/**//// <summary>
329
/// 上一页文本内容
330
/// </summary>
331
public string PrevPageText
332
{
333
get
334
{
335
return GetString( ViewState[ "PrevPageText" ] );
336
}
337
set
338
{
339
ViewState[ "PrevPageText" ] = value;
340
}
341
}
342
#endregion
343
344
NextPageText 下一页文本内容#region NextPageText 下一页文本内容
345
/**//// <summary>
346
/// 下一页文本内容
347
/// </summary>
348
public string NextPageText
349
{
350
get
351
{
352
return GetString( ViewState[ "NextPageText" ] );
353
}
354
set
355
{
356
ViewState[ "NextPageText" ] = value;
357
}
358
}
359
#endregion
360
361
LastPageText 最后一页文本内容#region LastPageText 最后一页文本内容
362
/**//// <summary>
363
/// 最后一页文本内容
364
/// </summary>
365
public string LastPageText
366
{
367
get
368
{
369
return GetString( ViewState[ "LastPageText" ] );
370
}
371
set
372
{
373
ViewState[ "LastPageText" ] = value;
374
}
375
}
376
#endregion
377
378
#endregion
379
380
获取或设置下拉列表框的位置#region 获取或设置下拉列表框的位置
381
public Position SelectPosition
382
{
383
get
384
{
385
if( ViewState["SelectPosition"] == null )
386
{
387
return Position.Back;
388
}
389
else
390
{
391
return (Position)ViewState["SelectPosition"];
392
}
393
}
394
set
395
{
396
ViewState["SelectPosition"] = value;
397
}
398
}
399
#endregion
400
401
402
CreateChildControls#region CreateChildControls
403
protected override void CreateChildControls()
404
{
405
this.Controls.Clear();
406
//Tanle
407
Table tb = new Table();
408
tb.ID = "tb";
409
this.Controls.Add( tb );
410
tb.Width = Unit.Percentage(100);
411
412
//tr
413
TableRow row = new TableRow();
414
row.ID = "row";
415
tb.Rows.Add( row );
416
417
总共N条记录#region 总共N条记录
418
TableCell cellRecordCount = new TableCell();
419
cellRecordCount.ID = "cellRecordCount";
420
row.Cells.Add( cellRecordCount );
421
cellRecordCount.VerticalAlign = VerticalAlign.Middle;
422
cellRecordCount.HorizontalAlign = HorizontalAlign.Center;
423
if( RecordCountIsVisible )
424
{
425
LiteralControl lcRecordCount = new LiteralControl();
426
lcRecordCount.ID = "lcRecordCount";
427
cellRecordCount.Controls.Add( lcRecordCount );
428
lcRecordCount.Text = "总共 " + RecordCount.ToString() + " 条记录";
429
}
430
#endregion
431
432
共N页#region 共N页
433
TableCell cellPageCount = new TableCell();
434
cellPageCount.ID = "cellPageCount";
435
row.Cells.Add( cellPageCount );
436
cellPageCount.VerticalAlign = VerticalAlign.Middle;
437
cellPageCount.HorizontalAlign = HorizontalAlign.Center;
438
if( PageCountIsVisible )
439
{
440
LiteralControl lcPageCount = new LiteralControl();
441
lcPageCount.ID = "lcPageCount";
442
cellPageCount.Controls.Add( lcPageCount );
443
lcPageCount.Text = "共 " + PageCount.ToString() + " 页";
444
}
445
#endregion
446
447
第N页#region 第N页
448
TableCell cellCurrentPageIndex = new TableCell();
449
cellCurrentPageIndex.ID = "cellCurrentPageIndex";
450
row.Cells.Add( cellCurrentPageIndex );
451
cellCurrentPageIndex.VerticalAlign = VerticalAlign.Middle;
452
cellCurrentPageIndex.HorizontalAlign = HorizontalAlign.Center;
453
if( CurrentPageIndexIsVisible )
454
{
455
LiteralControl lcCurrentPageIndex = new LiteralControl();
456
lcCurrentPageIndex.ID = "lcCurrentPageIndex";
457
cellCurrentPageIndex.Controls.Add( lcCurrentPageIndex );
458
lcCurrentPageIndex.Text = "第 " + CurrentPageIndex.ToString() + " 页";
459
}
460
#endregion
461
462
首页#region 首页
463
TableCell cellFirstPage = new TableCell();
464
cellFirstPage.ID = "cellFirstPage";
465
row.Cells.Add( cellFirstPage );
466
cellFirstPage.VerticalAlign = VerticalAlign.Middle;
467
cellFirstPage.HorizontalAlign = HorizontalAlign.Center;
468
if( FirstPageIsVisible )
469
{
470
LinkButton lbtnFirstPage = new LinkButton();
471
lbtnFirstPage.ID= "lbtnFirstPage";
472
cellFirstPage.Controls.Add( lbtnFirstPage );
473
lbtnFirstPage.Click +=new EventHandler(lbtnFirstPage_Click);
474
if( FirstPageText.Length > 0 )
475
{
476
lbtnFirstPage.Text = FirstPageText;
477
}
478
else
479
{
480
lbtnFirstPage.Text = "首页";
481
}
482
}
483
#endregion
484
485
上一页#region 上一页
486
TableCell cellPrevPage = new TableCell();
487
cellPrevPage.ID = "cellPrevPage";
488
row.Cells.Add( cellPrevPage );
489
cellPrevPage.VerticalAlign = VerticalAlign.Middle;
490
cellPrevPage.HorizontalAlign = HorizontalAlign.Center;
491
if( PrevPageIsVisible )
492
{
493
LinkButton lbtnPrevPage= new LinkButton();
494
lbtnPrevPage.ID = "lbtnPrevPage";
495
cellPrevPage.Controls.Add( lbtnPrevPage );
496
lbtnPrevPage.Click +=new EventHandler(lbtnPrevPage_Click);
497
if( PrevPageText.Length > 0 )
498
{
499
lbtnPrevPage.Text = PrevPageText;
500
}
501
else
502
{
503
lbtnPrevPage.Text = "上一页";
504
}
505
}
506
#endregion
507
508
下一页#region 下一页
509
TableCell cellNextPage = new TableCell();
510
cellNextPage.ID = "cellNextPage";
511
row.Cells.Add( cellNextPage );
512
cellNextPage.VerticalAlign = VerticalAlign.Middle;
513
cellNextPage.HorizontalAlign = HorizontalAlign.Center;
514
if( NextPageIsVisible )
515
{
516
LinkButton lbtnNextPage = new LinkButton();
517
lbtnNextPage.ID= "lbtnNextPage";
518
cellNextPage.Controls.Add( lbtnNextPage );
519
lbtnNextPage.Click +=new EventHandler(lbtnNextPage_Click);
520
if( NextPageText.Length > 0 )
521
{
522
lbtnNextPage.Text = NextPageText;
523
}
524
else
525
{
526
lbtnNextPage.Text = "下一页";
527
}
528
}
529
#endregion
530
531
最后一页#region 最后一页
532
TableCell cellLastPage = new TableCell();
533
cellLastPage.ID = "cellLastPage";
534
row.Cells.Add( cellLastPage );
535
cellLastPage.VerticalAlign = VerticalAlign.Middle;
536
cellLastPage.HorizontalAlign = HorizontalAlign.Center;
537
if( LastPageIsVisible )
538
{
539
LinkButton lbtnLastPage = new LinkButton();
540
lbtnLastPage.ID = "lbtnLastPage";
541
cellLastPage.Controls.Add( lbtnLastPage );
542
lbtnLastPage.Click +=new EventHandler(lbtnLastPage_Click);
543
if( LastPageText.Length > 0 )
544
{
545
lbtnLastPage.Text = LastPageText;
546
}
547
else
548
{
549
lbtnLastPage.Text = "最后一页";
550
}
551
}
552
#endregion
553
554
选择页码#region 选择页码
555
if( SelectPageIsVisible )
556
{
557
TableCell cellSelectPage = new TableCell();
558
cellSelectPage.ID = "cellSelectPage";
559
if( SelectPosition == Position.Front )
560
{
561
row.Cells.AddAt(0, cellSelectPage);
562
}
563
else
564
{
565
row.Cells.Add( cellSelectPage );
566
}
567
cellSelectPage.VerticalAlign = VerticalAlign.Middle;
568
cellSelectPage.HorizontalAlign = HorizontalAlign.Center;
569
570
DropDownList ddlSelectPage = new DropDownList();
571
ddlSelectPage.ID = "ddlSelectPage";
572
cellSelectPage.Controls.Add( ddlSelectPage );
573
SetDropDownListValue( ddlSelectPage, PageCount );
574
ddlSelectPage.SelectedIndex = CurrentPageIndex - 1;
575
ddlSelectPage.AutoPostBack = true;
576
ddlSelectPage.SelectedIndexChanged +=new EventHandler(ddlSelectPage_SelectedIndexChanged);
577
}
578
579
#endregion
580
581
base.CreateChildControls ();
582
}
583
#endregion
584
585
Change Pageindex#region Change Pageindex
586
587
首页#region 首页
588
private void lbtnFirstPage_Click(object sender, EventArgs e)
589
{
590
CurrentPageIndex = 1;
591
CreateChildControls();
592
SendPageChanged();
593
}
594
#endregion
595
596
上一页#region 上一页
597
private void lbtnPrevPage_Click(object sender, EventArgs e)
598
{
599
if( CurrentPageIndex > 1)
600
{
601
CurrentPageIndex = CurrentPageIndex - 1;
602
}
603
CreateChildControls();
604
SendPageChanged();
605
}
606
#endregion
607
608
下一页#region 下一页
609
private void lbtnNextPage_Click(object sender, EventArgs e)
610
{
611
if( CurrentPageIndex < PageCount )
612
{
613
CurrentPageIndex = CurrentPageIndex + 1;
614
}
615
CreateChildControls();
616
SendPageChanged();
617
}
618
#endregion
619
620
最后一页#region 最后一页
621
private void lbtnLastPage_Click(object sender, EventArgs e)
622
{
623
CurrentPageIndex = PageCount;
624
CreateChildControls();
625
SendPageChanged();
626
}
627
#endregion
628
629
选择页码#region 选择页码
630
private void ddlSelectPage_SelectedIndexChanged(object sender, EventArgs e)
631
{
632
DropDownList ddlSelectPage = sender as DropDownList;
633
if( ddlSelectPage != null )
634
{
635
CurrentPageIndex = Convert.ToInt32( ddlSelectPage.SelectedValue );
636
CreateChildControls();
637
SendPageChanged();
638
}
639
}
640
#endregion
641
642
#endregion
643
644
Event PageChanged#region Event PageChanged
645
public event EventHandler PageChanged;
646
#endregion
647
648
SendPageChange#region SendPageChange
649
private void SendPageChanged()
650
{
651
if(PageChanged != null)
652
{
653
PageChanged(this,EventArgs.Empty);
654
}
655
}
656
#endregion
657
658
659
}
660
}
661
使用方法:
using System;2
using System.Web.UI;3
using System.Web.UI.WebControls;4
using System.ComponentModel;5
using System.Drawing;6

7
namespace DataPage8


{9

public enum Position
{ Front, Back}10

/**//// <summary>11
/// WebDataPage 的摘要说明。12
/// </summary>13
[DefaultProperty("Text"), 14
ToolboxData("<{0}:WebDataPage runat=server></{0}:WebDataPage>")]15
public class WebDataPage : System.Web.UI.WebControls.WebControl,INamingContainer16

{17

Function#region Function18

19

GetInt#region GetInt20
private int GetInt(object obj)21

{22
int iReturn = 0;23
if( obj != null )24

{25
iReturn = (int)obj;26
}27
return iReturn;28
}29
#endregion30

31

GetString#region GetString32
private string GetString(string strValue)33

{34
return strValue;35
}36
private string GetString(object obj)37

{38
if( obj == null )39

{40
return "";41
}42
else43

{44
return obj.ToString();45
}46
}47
#endregion48

49

GetBoolean#region GetBoolean50
private bool GetBoolean(object obj)51

{52
if( obj != null )53

{54
return (bool)obj;55
}56
else57

{58
return true;59
}60
}61
#endregion62

63

SetDropDownListValue#region SetDropDownListValue64
private void SetDropDownListValue(DropDownList ddl, int iValue)65

{66
if( ddl != null )67

{68
for(int i=1; i<= iValue; i++)69

{70
ListItem lst = new ListItem();71
lst.Value = i.ToString();72
lst.Text = "第" + i.ToString() + "页";73
ddl.Items.Add( lst );74
}75
}76
}77
#endregion78

79
#endregion80

81

页码#region 页码82

83

PageCount 获取或设置总页数#region PageCount 获取或设置总页数84

/**//// <summary>85
/// 获取或设置总页数86
/// </summary>87
public int PageCount88

{89
get90

{91
if( PageSize == 0)92

{93
ViewState[ "PageCount" ] = 0;94
}95
else96

{97
if( RecordCount % PageSize > 0 )98

{99
ViewState[ "PageCount" ] = RecordCount / PageSize + 1;100
}101
else102

{103
ViewState[ "PageCount" ] = RecordCount / PageSize;104
}105
} 106
return GetInt( ViewState[ "PageCount" ] );107
}108
set109

{ 110
ViewState[ "PageCount" ] = value; 111
}112
}113
#endregion114

115

RecordCount 获取或设置记录总数#region RecordCount 获取或设置记录总数116

/**//// <summary>117
/// 获取或设置记录总数118
/// </summary>119
public int RecordCount120

{121
get122

{123
return GetInt( ViewState[ "RecordCount" ] );124
}125
set126

{ 127
ViewState[ "RecordCount" ] = value; 128
}129
}130
#endregion131

132

PageSize 设置每页显示的记录数#region PageSize 设置每页显示的记录数133

/**//// <summary>134
/// 设置每页显示的记录数135
/// </summary>136
public int PageSize137

{138
get139

{140
return GetInt( ViewState[ "PageSize" ] );141
}142
set143

{ 144
ViewState[ "PageSize" ] = value; 145
}146
}147
#endregion148

149

CurrentPageIndex 获取或设置当前页#region CurrentPageIndex 获取或设置当前页150

/**//// <summary>151
/// 获取或设置当前页152
/// </summary>153
public int CurrentPageIndex154

{155
get156

{157
return GetInt( ViewState[ "CurrentPageIndex" ] );158
}159
set160

{ 161
ViewState[ "CurrentPageIndex" ] = value; 162
}163
}164
#endregion165

166
#endregion167

168

信息是否显示#region 信息是否显示169

170

RecordCountIsVisible 总共N条记录是否显示#region RecordCountIsVisible 总共N条记录是否显示171

/**//// <summary>172
/// 总共N条记录是否显示173
/// </summary>174
public bool RecordCountIsVisible175

{176
get177

{178
return GetBoolean( ViewState[ "RecordCountIsVisible" ] ); 179
}180
set181

{ 182
ViewState[ "RecordCountIsVisible" ] = value; 183
}184
}185
#endregion186

187

PageCountIsVisible 共N页是否显示#region PageCountIsVisible 共N页是否显示188

/**//// <summary>189
/// 共N页是否显示190
/// </summary>191
public bool PageCountIsVisible192

{193
get194

{195
return GetBoolean( ViewState[ "PageCountIsVisible" ] ); 196
}197
set198

{ 199
ViewState[ "PageCountIsVisible" ] = value; 200
}201
}202
#endregion203

204

CurrentPageIndexIsVisible 第N页是否显示#region CurrentPageIndexIsVisible 第N页是否显示205

/**//// <summary>206
/// 第N页是否显示207
/// </summary>208
public bool CurrentPageIndexIsVisible209

{210
get211

{212
return GetBoolean( ViewState[ "CurrentPageIndexIsVisible" ] ); 213
}214
set215

{ 216
ViewState[ "CurrentPageIndexIsVisible" ] = value; 217
}218
}219
#endregion220

221

FirstPageIsVisible 首页是否显示#region FirstPageIsVisible 首页是否显示222

/**//// <summary>223
/// 首页是否显示224
/// </summary>225
public bool FirstPageIsVisible226

{227
get228

{229
return GetBoolean( ViewState[ "FirstPageIsVisible" ] ); 230
}231
set232

{ 233
ViewState[ "FirstPageIsVisible" ] = value; 234
}235
}236
#endregion237

238

PrevPageIsVisible 上一页是否显示#region PrevPageIsVisible 上一页是否显示239

/**//// <summary>240
/// 上一页是否显示241
/// </summary>242
public bool PrevPageIsVisible243

{244
get245

{246
return GetBoolean( ViewState[ "PrevPageIsVisible" ] ); 247
}248
set249

{ 250
ViewState[ "PrevPageIsVisible" ] = value; 251
}252
}253
#endregion254

255

NextPageIsVisible 下一页是否显示#region NextPageIsVisible 下一页是否显示256

/**//// <summary>257
/// 下一页是否显示258
/// </summary>259
public bool NextPageIsVisible260

{261
get262

{263
return GetBoolean( ViewState[ "NextPageIsVisible" ] ); 264
}265
set266

{ 267
ViewState[ "NextPageIsVisible" ] = value; 268
}269
}270
#endregion271

272

LastPageIsVisible 最后一页是否显示#region LastPageIsVisible 最后一页是否显示273

/**//// <summary>274
/// 最后一页是否显示275
/// </summary>276
public bool LastPageIsVisible277

{278
get279

{280
return GetBoolean( ViewState[ "LastPageIsVisible" ] ); 281
}282
set283

{ 284
ViewState[ "LastPageIsVisible" ] = value; 285
}286
}287
#endregion288

289

SelectPageIsVisible 下拉列表框是否显示#region SelectPageIsVisible 下拉列表框是否显示290

/**//// <summary>291
/// 下拉列表框是否显示292
/// </summary>293
public bool SelectPageIsVisible294

{295
get296

{297
return GetBoolean( ViewState[ "SelectPageIsVisible" ] ); 298
}299
set300

{ 301
ViewState[ "SelectPageIsVisible" ] = value; 302
}303
}304
#endregion305

306
#endregion307

308

文本内容#region 文本内容309

310

FirstPageText 首页文本内容#region FirstPageText 首页文本内容311

/**//// <summary>312
/// 首页文本内容313
/// </summary>314
public string FirstPageText315

{316
get317

{318
return GetString( ViewState[ "FirstPageText" ] ); 319
}320
set321

{ 322
ViewState[ "FirstPageText" ] = value; 323
}324
}325
#endregion326

327

PrevPageText 上一页文本内容#region PrevPageText 上一页文本内容328

/**//// <summary>329
/// 上一页文本内容330
/// </summary>331
public string PrevPageText332

{333
get334

{335
return GetString( ViewState[ "PrevPageText" ] ); 336
}337
set338

{ 339
ViewState[ "PrevPageText" ] = value; 340
}341
}342
#endregion343

344

NextPageText 下一页文本内容#region NextPageText 下一页文本内容345

/**//// <summary>346
/// 下一页文本内容347
/// </summary>348
public string NextPageText349

{350
get351

{352
return GetString( ViewState[ "NextPageText" ] ); 353
}354
set355

{ 356
ViewState[ "NextPageText" ] = value; 357
}358
}359
#endregion360

361

LastPageText 最后一页文本内容#region LastPageText 最后一页文本内容362

/**//// <summary>363
/// 最后一页文本内容364
/// </summary>365
public string LastPageText366

{367
get368

{369
return GetString( ViewState[ "LastPageText" ] ); 370
}371
set372

{ 373
ViewState[ "LastPageText" ] = value; 374
}375
}376
#endregion377

378
#endregion379

380

获取或设置下拉列表框的位置#region 获取或设置下拉列表框的位置381
public Position SelectPosition382

{383
get384

{385
if( ViewState["SelectPosition"] == null )386

{387
return Position.Back;388
}389
else390

{391
return (Position)ViewState["SelectPosition"];392
}393
}394
set395

{396
ViewState["SelectPosition"] = value;397
}398
}399
#endregion400
401

402

CreateChildControls#region CreateChildControls403
protected override void CreateChildControls()404

{405
this.Controls.Clear();406
//Tanle407
Table tb = new Table();408
tb.ID = "tb";409
this.Controls.Add( tb );410
tb.Width = Unit.Percentage(100);411
412
//tr413
TableRow row = new TableRow();414
row.ID = "row";415
tb.Rows.Add( row );416

417

总共N条记录#region 总共N条记录418
TableCell cellRecordCount = new TableCell();419
cellRecordCount.ID = "cellRecordCount";420
row.Cells.Add( cellRecordCount );421
cellRecordCount.VerticalAlign = VerticalAlign.Middle;422
cellRecordCount.HorizontalAlign = HorizontalAlign.Center;423
if( RecordCountIsVisible )424

{425
LiteralControl lcRecordCount = new LiteralControl();426
lcRecordCount.ID = "lcRecordCount";427
cellRecordCount.Controls.Add( lcRecordCount );428
lcRecordCount.Text = "总共 " + RecordCount.ToString() + " 条记录";429
}430
#endregion431

432

共N页#region 共N页433
TableCell cellPageCount = new TableCell();434
cellPageCount.ID = "cellPageCount";435
row.Cells.Add( cellPageCount );436
cellPageCount.VerticalAlign = VerticalAlign.Middle;437
cellPageCount.HorizontalAlign = HorizontalAlign.Center;438
if( PageCountIsVisible )439

{440
LiteralControl lcPageCount = new LiteralControl();441
lcPageCount.ID = "lcPageCount";442
cellPageCount.Controls.Add( lcPageCount );443
lcPageCount.Text = "共 " + PageCount.ToString() + " 页";444
}445
#endregion446

447

第N页#region 第N页448
TableCell cellCurrentPageIndex = new TableCell();449
cellCurrentPageIndex.ID = "cellCurrentPageIndex";450
row.Cells.Add( cellCurrentPageIndex );451
cellCurrentPageIndex.VerticalAlign = VerticalAlign.Middle;452
cellCurrentPageIndex.HorizontalAlign = HorizontalAlign.Center;453
if( CurrentPageIndexIsVisible )454

{455
LiteralControl lcCurrentPageIndex = new LiteralControl();456
lcCurrentPageIndex.ID = "lcCurrentPageIndex";457
cellCurrentPageIndex.Controls.Add( lcCurrentPageIndex );458
lcCurrentPageIndex.Text = "第 " + CurrentPageIndex.ToString() + " 页";459
}460
#endregion461

462

首页#region 首页463
TableCell cellFirstPage = new TableCell();464
cellFirstPage.ID = "cellFirstPage";465
row.Cells.Add( cellFirstPage );466
cellFirstPage.VerticalAlign = VerticalAlign.Middle;467
cellFirstPage.HorizontalAlign = HorizontalAlign.Center;468
if( FirstPageIsVisible )469

{470
LinkButton lbtnFirstPage = new LinkButton();471
lbtnFirstPage.ID= "lbtnFirstPage";472
cellFirstPage.Controls.Add( lbtnFirstPage );473
lbtnFirstPage.Click +=new EventHandler(lbtnFirstPage_Click);474
if( FirstPageText.Length > 0 )475

{476
lbtnFirstPage.Text = FirstPageText;477
}478
else479

{480
lbtnFirstPage.Text = "首页";481
}482
}483
#endregion484

485

上一页#region 上一页486
TableCell cellPrevPage = new TableCell();487
cellPrevPage.ID = "cellPrevPage";488
row.Cells.Add( cellPrevPage );489
cellPrevPage.VerticalAlign = VerticalAlign.Middle;490
cellPrevPage.HorizontalAlign = HorizontalAlign.Center;491
if( PrevPageIsVisible )492

{493
LinkButton lbtnPrevPage= new LinkButton();494
lbtnPrevPage.ID = "lbtnPrevPage";495
cellPrevPage.Controls.Add( lbtnPrevPage );496
lbtnPrevPage.Click +=new EventHandler(lbtnPrevPage_Click);497
if( PrevPageText.Length > 0 )498

{499
lbtnPrevPage.Text = PrevPageText;500
}501
else502

{503
lbtnPrevPage.Text = "上一页";504
}505
}506
#endregion507
508

下一页#region 下一页509
TableCell cellNextPage = new TableCell();510
cellNextPage.ID = "cellNextPage";511
row.Cells.Add( cellNextPage );512
cellNextPage.VerticalAlign = VerticalAlign.Middle;513
cellNextPage.HorizontalAlign = HorizontalAlign.Center;514
if( NextPageIsVisible )515

{516
LinkButton lbtnNextPage = new LinkButton();517
lbtnNextPage.ID= "lbtnNextPage";518
cellNextPage.Controls.Add( lbtnNextPage );519
lbtnNextPage.Click +=new EventHandler(lbtnNextPage_Click);520
if( NextPageText.Length > 0 )521

{522
lbtnNextPage.Text = NextPageText;523
}524
else525

{526
lbtnNextPage.Text = "下一页";527
}528
}529
#endregion530

531

最后一页#region 最后一页532
TableCell cellLastPage = new TableCell();533
cellLastPage.ID = "cellLastPage";534
row.Cells.Add( cellLastPage );535
cellLastPage.VerticalAlign = VerticalAlign.Middle;536
cellLastPage.HorizontalAlign = HorizontalAlign.Center;537
if( LastPageIsVisible )538

{539
LinkButton lbtnLastPage = new LinkButton();540
lbtnLastPage.ID = "lbtnLastPage";541
cellLastPage.Controls.Add( lbtnLastPage );542
lbtnLastPage.Click +=new EventHandler(lbtnLastPage_Click);543
if( LastPageText.Length > 0 )544

{545
lbtnLastPage.Text = LastPageText;546
}547
else548

{549
lbtnLastPage.Text = "最后一页";550
}551
}552
#endregion553

554

选择页码#region 选择页码555
if( SelectPageIsVisible )556

{557
TableCell cellSelectPage = new TableCell();558
cellSelectPage.ID = "cellSelectPage";559
if( SelectPosition == Position.Front )560

{561
row.Cells.AddAt(0, cellSelectPage);562
}563
else564

{565
row.Cells.Add( cellSelectPage );566
}567
cellSelectPage.VerticalAlign = VerticalAlign.Middle;568
cellSelectPage.HorizontalAlign = HorizontalAlign.Center;569

570
DropDownList ddlSelectPage = new DropDownList();571
ddlSelectPage.ID = "ddlSelectPage";572
cellSelectPage.Controls.Add( ddlSelectPage );573
SetDropDownListValue( ddlSelectPage, PageCount );574
ddlSelectPage.SelectedIndex = CurrentPageIndex - 1;575
ddlSelectPage.AutoPostBack = true;576
ddlSelectPage.SelectedIndexChanged +=new EventHandler(ddlSelectPage_SelectedIndexChanged);577
}578
579
#endregion580

581
base.CreateChildControls ();582
}583
#endregion584

585

Change Pageindex#region Change Pageindex586

587

首页#region 首页588
private void lbtnFirstPage_Click(object sender, EventArgs e)589

{590
CurrentPageIndex = 1;591
CreateChildControls();592
SendPageChanged();593
}594
#endregion595

596

上一页#region 上一页597
private void lbtnPrevPage_Click(object sender, EventArgs e)598

{599
if( CurrentPageIndex > 1)600

{601
CurrentPageIndex = CurrentPageIndex - 1;602
}603
CreateChildControls();604
SendPageChanged();605
}606
#endregion607

608

下一页#region 下一页609
private void lbtnNextPage_Click(object sender, EventArgs e)610

{611
if( CurrentPageIndex < PageCount )612

{613
CurrentPageIndex = CurrentPageIndex + 1;614
}615
CreateChildControls();616
SendPageChanged();617
}618
#endregion619

620

最后一页#region 最后一页621
private void lbtnLastPage_Click(object sender, EventArgs e)622

{623
CurrentPageIndex = PageCount;624
CreateChildControls();625
SendPageChanged();626
}627
#endregion628

629

选择页码#region 选择页码630
private void ddlSelectPage_SelectedIndexChanged(object sender, EventArgs e)631

{632
DropDownList ddlSelectPage = sender as DropDownList;633
if( ddlSelectPage != null )634

{635
CurrentPageIndex = Convert.ToInt32( ddlSelectPage.SelectedValue );636
CreateChildControls();637
SendPageChanged();638
}639
}640
#endregion641

642
#endregion643
644

Event PageChanged#region Event PageChanged645
public event EventHandler PageChanged;646
#endregion647

648

SendPageChange#region SendPageChange649
private void SendPageChanged()650

{651
if(PageChanged != null)652

{653
PageChanged(this,EventArgs.Empty);654
}655
}656
#endregion657

658

659
}660
}661


<%
@ Register TagPrefix="cc1" Namespace="DataPage" Assembly="DataPage" %>
<cc1:WebDataPage id="WebDataPage1" runat="server"></cc1:WebDataPage><%@ Register TagPrefix="cc1" Namespace="DataPage" Assembly="DataPage" %><%@ Register TagPrefix="cc1" Namespace="DataPage" Assembly="DataPage" %><%@ Register TagPrefix="cc1" Namespace="DataPage" Assembly="DataPage" %><%@ Register TagPrefix="cc1" Namespace="DataPage" Assembly="DataPage" %>

浙公网安备 33010602011771号