只是解決DataGridview快速慢的辦法。
程序
」比較好,只是改變通關方式。
2 /// <摘要>
3 /// 取得期初數據
4 /// 摘要>
5 私有無效 getFillDateset()
6 {
7 嘗試
8 {
9 // 每頁顯示一個數字
10 頁面大小 = 10;
11 //獲得最大記錄數
12 maxRec = dtSource.Rows.Count;
13 //共有多少頁
14 pageCount = (maxRec / pageSize);
15 //取餘數
16 if ((maxRec % pageSize) > 0)
17{
18 頁數++;
19}
20 //預設第一頁
21 當前頁=1;
22 記錄號=0;
23 載入頁面();
24}
25 捕獲
26{
27}
28}
29
30
31 /// <摘要>
32 /// 判斷資料是否已經載入
33 /// 摘要>
34 /// <返回>返回>
35 private bool CheckFillButton()
36{
37 if (pageSize == 0) 回傳 false;
38 else 返回true;
39}
40
41 /// <摘要>
42 /// 取得DataTable的數據
43 /// 摘要>
44 私有無效 LoadPage()
45{
46 int 開始記錄;
47 int結束記錄;
48 資料表 dtTemp;
49
50
51 dtTemp = dtSource.Clone();
52 if (currentPage == pageCount) endRec = maxRec;
53 否則 endRec = pageSize * currentPage;
54 開始記錄=記錄號;
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 /// 分頁事件(取各節點的標籤值)
65 /// 摘要>
66 /// <參數名稱=「寄件者」>參數>
67 /// <參數名稱=“e”>參數>
68 private void changepage(物件發送者,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 currentPage = 頁數;
90 if (recNo == maxRec)
91{
92 MessageBox.Show("現在是最後一頁了!");
93返回;
94}
95 其他
96 recNo = pageSize * (currentPage + 1);
97}
98 載入頁面();
99 打破;
100案例3:
101 if (目前頁 == 頁數)
102 記錄編號 = 頁大小 * (目前頁 - 2);
103 當前頁--;
104 if (目前頁 < 1)
105 {
106 MessageBox.Show("現在是第一頁!");
107 當前頁=1;
108返回;
109}
110 其他
111 recNo = pageSize * (目前頁 - 1);
112
113 載入頁面();
114 打破;
115
116案例4:
117 if (!CheckFillButton()) 回傳;
118 if (recNo == maxRec)
119 {
120 MessageBox.Show("現在是最後一頁了!");
121返回;
122}
123 currentPage = 頁數;
124 recNo = pageSize * (目前頁 - 1);
125 載入頁面();
126 打破;
127}
128
129}
130
第131章
http://www.cnblogs.com/azhai/archive/2006/09/18/507624.html