国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET技巧:DataGridView 的分頁處理

2024-07-10 13:09:34
字體:
來源:轉載
供稿:網(wǎng)友

只是解決datagridview刷新慢的辦法。
如果要考慮效率,還是結合分頁的"存儲過程"比較好,只是變通了一下。

  1        #region 數(shù)據(jù)處理
  2         /// <summary>
  3         /// 得到期初數(shù)據(jù)
  4         /// </summary>
  5         private void getfilldateset()
  6         {
  7             try
  8             {
  9                 //每頁顯示數(shù)
 10                 pagesize = 10;
 11                 //得到最大記錄數(shù)
 12                 maxrec = dtsource.rows.count;
 13                 //共有多少頁
 14                 pagecount = (maxrec / pagesize);
 15                 //取余數(shù)
 16                 if ((maxrec % pagesize) > 0)
 17                 {
 18                     pagecount++;
 19                 }
 20                 //默認第一頁
 21                 currentpage = 1;
 22                 recno = 0;
 23                 loadpage();
 24             }
 25             catch
 26             {
 27             }
 28         }
 29
 30
 31         /// <summary>
 32         /// 判斷是否數(shù)據(jù)已經(jīng)加載
 33         /// </summary>
 34         /// <returns></returns>
 35         private bool checkfillbutton()
 36         {
 37             if (pagesize == 0) return false;
 38             else return true;
 39         }
 40
 41        /// <summary>
 42         /// 取datatable的數(shù)據(jù)
 43        /// </summary>
 44         private void loadpage()
 45         {
 46             int startrec;
 47             int endrec;
 48             datatable dttemp;
 49  
 50
 51             dttemp = dtsource.clone();
 52             if (currentpage == pagecount) endrec = maxrec;
 53             else endrec = pagesize * currentpage;
 54             startrec = recno;
 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        /// <summary>
 64        /// 分頁事件(取各個按鍵的tag值)
 65        /// </summary>
 66        /// <param name="sender"></param>
 67        /// <param name="e"></param>
 68         private void changepage(object sender, eventargs e)
 69         {
 70             if (!checkfillbutton()) return;
 71             int myint = convert.toint16((string)(sender as button).tag);
 72             switch (myint)
 73             {
 74                 case 1:
 75                     if (currentpage == 1)
 76                     {
 77                         messagebox.show("the frist page now!");
 78                         return;
 79
 80                     }
 81                     currentpage = 1;
 82                     recno = 0;
 83                     loadpage();
 84                     break;
 85                 case 2:
 86                     currentpage++;
 87                     if (currentpage > pagecount)
 88                     {
 89                         currentpage = pagecount;
 90                         if (recno == maxrec)
 91                         {
 92                             messagebox.show("the last page now!");
 93                             return;
 94                         }
 95                         else
 96                             recno = pagesize * (currentpage + 1);
 97                     }
 98                     loadpage();
 99                     break;
100                 case 3:
101                     if (currentpage == pagecount)
102                         recno = pagesize * (currentpage - 2);
103                     currentpage--;
104                     if (currentpage < 1)
105                     {
106                         messagebox.show("the frist page now!");
107                         currentpage = 1;
108                         return;
109                     }
110                     else
111                         recno = pagesize * (currentpage - 1);
112
113                     loadpage();
114                     break;
115
116                 case 4:
117                     if (!checkfillbutton()) return;
118                     if (recno == maxrec)
119                     {
120                         messagebox.show("the last page now!");
121                         return;
122                     }
123                     currentpage = pagecount;
124                     recno = pagesize * (currentpage - 1);
125                     loadpage();
126                     break;
127             }
128
129         }
130
131 #endregion



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 岗巴县| 皮山县| 疏勒县| 西充县| 兰溪市| 河源市| 咸阳市| 北宁市| 北川| 临安市| 铜陵市| 唐山市| 沽源县| 剑河县| 和平县| 枣强县| 武宁县| 勃利县| 台州市| 庆城县| 会理县| 唐河县| 阳春市| 汾西县| 山阴县| 桂阳县| 泰安市| 成都市| 鄂伦春自治旗| 白河县| 苏州市| 颍上县| 江源县| 长寿区| 凤凰县| 湛江市| 灌阳县| 乐业县| 宜黄县| 黄平县| 犍为县|