DataGridview는 새로운 기능을 제공합니다.
如果要考虑效率,还是结合分页的"存储过程"比较好,只是变通了一下。
1 #region 数据处理
2 /// <요약>
3 /// 得到期初数据
4 /// </summary>
5 개인 무효 getFillDateset()
6 {
7번 시도
8 {
9 //每页显示数
10 페이지크기 = 10;
11 //得到最大记录数
12 maxRec = dtSource.Rows.Count;
13 //共多少页
14 페이지카운트 = (maxRec / 페이지크기);
15 //取余数
16 if ((maxRec % pageSize) > 0)
17 {
18페이지Count++;
19 }
20 //默认第一页
21 현재페이지 = 1;
22 녹음번호 = 0;
23 로드페이지();
24 }
25 캐치
26 {
27 }
28 }
29
30
31 /// <요약>
32 /// 判断是否数据已经加载
33 /// </summary>
34 /// <반환></반환>
35 개인 bool CheckFillButton()
36 {
37 if (pageSize == 0) 반환 false;
38 그렇지 않으면 true를 반환합니다.
39 }
40
41 /// <요약>
42 /// 데이터 테이블의 데이터 저장
43 /// </summary>
44 비공개 무효 LoadPage()
45 {
46 int startRec;
47 int endRec;
48 데이터테이블 dtTemp;
49
50
51 dtTemp = dtSource.Clone();
52 if (currentPage == pageCount) endRec = maxRec;
53 else endRec = pageSize * currentPage;
54 startRec = 녹음번호;
55 for (int i = startRec; i < endRec; i++)
56 {
57 dtTemp.ImportRow(dtSource.Rows[i]);
58 RecNo++;
59 }
60 this.dataGridView1.DataSource = dtTemp;
61 }
62
63 /// <요약>
64 /// 分页事件(取各个按键的Tag值)
65 /// </summary>
66 /// <param name="sender"></param>
67 /// <param name="e"></param>
68 개인 무효 변경 페이지(객체 전송자, EventArgs e)
69 {
70 if (!CheckFillButton()) 반환;
71 int myint = Convert.ToInt16((string)(sender as Button).Tag);
72 스위치 (myint)
73 {
74 사례 1:
75 if (현재페이지 == 1)
76 {
77 MessageBox.Show("이제 첫 번째 페이지입니다!");
78 반환;
79
80 }
81 현재페이지 = 1;
82 녹음번호 = 0;
83 로드페이지();
84 휴식;
85 사례 2:
86 현재페이지++;
87 if (현재페이지 > 페이지카운트)
88 {
89 현재페이지 = 페이지카운트;
90 if (recNo == maxRec)
91 {
92 MessageBox.Show("이제 마지막 페이지입니다!");
93 반환;
94 }
그 외 95개
96 RecNo = 페이지 크기 * (현재 페이지 + 1);
97 }
98 로드페이지();
99 휴식;
100 사례 3:
101 if (현재페이지 == 페이지카운트)
102 RecNo = 페이지 크기 * (현재 페이지 - 2);
103 현재페이지--;
104 if (현재페이지 < 1)
105 {
106 MessageBox.Show("이제 첫 번째 페이지입니다!");
107 현재페이지 = 1;
108 반환;
109 }
그 외 110개
111 RecNo = 페이지 크기 * (현재 페이지 - 1);
112
113 로드페이지();
114 휴식;
115
116 사례 4:
117 if (!CheckFillButton()) 반환;
118 if (recNo == maxRec)
119 {
120 MessageBox.Show("이제 마지막 페이지입니다!");
121 반환;
122 }
123 현재페이지 = 페이지카운트;
124 ecNo = 페이지 크기 * (현재페이지 - 1);
125 로드페이지();
126 휴식;
127 }
128
129 }
130
131 #끝지역
http://www.cnblogs.com/azhai/archive/2006/09/18/507624.html