国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 满洲里市| 许昌市| 册亨县| 崇礼县| 肃南| 皋兰县| 偏关县| 邵阳市| 丹棱县| 河西区| 柘城县| 黑河市| 青川县| 九江县| 文水县| 兴文县| 灵川县| 泰来县| 太和县| 巩义市| 安福县| 车险| 襄城县| 崇义县| 宁明县| 乐昌市| 永安市| 东乌珠穆沁旗| 鄂温| 东乡族自治县| 莱西市| 日喀则市| 安岳县| 铁岭县| 蓝田县| 巴林右旗| 巩留县| 肥乡县| 久治县| 石泉县| 开阳县|