يعد استخدام DataGridview هو الحل الأمثل.
منطقة
1 # منطقة
2 /// <الملخص>
3 /// 得到期初数据
4 /// الملخص>
5 getFillDateset () باطلة خاصة
6 {
7 حاول
8 {
9 //每页显示数
10 حجم الصفحة = 10؛
11 //得到最大记录数
12 maxRec = dtSource.Rows.Count;
13 //共有多少页
14 عدد الصفحات = (maxRec / حجم الصفحة)؛
15 //取余数
16 إذا ((maxRec % pageSize) > 0)
17 {
18 صفحة عدد ++؛
19 }
20 //默认第一页
21 الصفحة الحالية = 1;
22 رقم التسجيل = 0;
23 تحميل صفحة ()؛
24 }
25 صيد
26 {
27 }
28 }
29
30
31 /// <الملخص>
32///الحياة في الطبيعة
33 ///
34 ///
35 منطقي خاص CheckFillButton()
36 {
37 إذا تم إرجاع (حجم الصفحة == 0) خطأ؛
38 غير ذلك يرجع صحيحا؛
39 }
40
41 /// <الملخص>
42 /// حدد جدول البيانات
43 ///
44 LoadPage () باطلة خاصة
45 {
46 إنت ستارتريك؛
47 إنت إندريك؛
48 DataTable dtTemp;
49
50
51 dtTemp = dtSource.Clone();
52 if (currentPage == pageCount) endRec = maxRec;
53 else endRec = pageSize *currentPage;
54 startRec = recNo;
55 لـ (int i = startRec; i < endRec; i++)
56 {
57 dtTemp.ImportRow(dtSource.Rows[i]);
58 رقم ++;
59 }
60 this.dataGridView1.DataSource = dtTemp;
61 }
62
63 /// <الملخص>
64 /// 分页事件(取各个按键的Tag值)
65 ///
66 ///
67 ///
68 صفحة تغيير فارغة خاصة (مرسل الكائن، EventArgs e)
69 {
70 إذا عاد (!CheckFillButton()) ؛
71 int myint = Convert.ToInt16((string)(sender as Button).Tag);
72 التبديل (مينت)
73 {
74 الحالة 1:
75 إذا (الصفحة الحالية == 1)
76 {
77 messageBox.Show("الصفحة الأولى الآن!");
78 عودة؛
79
80 }
81 الصفحة الحالية = 1;
82 رقم التسجيل = 0;
83 تحميل صفحة ()؛
84 استراحة؛
85 الحالة 2:
86 الصفحة الحالية++;
87 إذا (الصفحة الحالية> عدد الصفحات)
88 {
89 currentPage = pageCount;
90 إذا (recNo == maxRec)
91 {
92 messageBox.Show("الصفحة الأخيرة الآن!");
93 عودة؛
94 }
95 آخر
96 recNo = pageSize * (currentPage + 1);
97 }
98 تحميل صفحة();
99 استراحة؛
100 حالة 3:
101 إذا (الصفحة الحالية == عدد الصفحات)
102recNo =pageSize *(currentPage - 2);
103 الصفحة الحالية--;
104 إذا (الصفحة الحالية <1)
105 {
106 messageBox.Show("الصفحة الأولى الآن!");
107 الصفحة الحالية = 1;
108 عودة؛
109 }
110 آخر
111 recNo = pageSize * (currentPage - 1);
112
113 تحميل صفحة ()؛
114 استراحة؛
115
116 الحالة 4:
117 إذا عاد (!CheckFillButton()) ؛
118 إذا (رقم == الحد الأقصى)
119 {
120 messageBox.Show("الصفحة الأخيرة الآن!");
121 عودة؛
122 }
123 currentPage = pageCount;
124 recNo = pageSize * (currentPage - 1);
125 تحميل صفحة ()؛
126 استراحة؛
127 }
128
129 }
130
131 #المنطقة
http://www.cnblogs.com/azhai/archive/2006/09/18/507624.html