ASP.NET大数据量分页技术的初步体验技巧
来源:互联网 发布:软件授权码绑定 编辑:程序博客网 时间:2024/04/30 17:01
可以借助于GridView与AspNetPager(强大的开源分页控件)实现ASP.NET获取数据表格时的分页。
GridView分页功能较弱,分页切换速度不如AspNetPager。
两者可单独使用,也可结合起来使用,即使用GridView进行数据的显示,AspNetPager进行页码的切换操作。
GridView分页时需要注意的地方:
1. 当使用它点击其他页时,GridView将重新分配Rows.Count的值为当前页得记录数,而不是DataSource里的总记录数。
2. 分页时需要重新执行数据绑定。
为便于确认各行数据所在的行,指定GridView各行记录的索引键值。
如:
this.GridView1.DataSource = CustmTable;this.GridView1.DataKeyNames = new string[] { "ID" };//主键 this.GridView1.DataBind();
GridView分页显示后出现索引超出范围错误解决办法,即出现上述第1个需要注意的情况:
// GridView分页显示后出现索引超出范围错误解决办法int iPageIndex = GridView1.PageIndex; //获取当前页索引int iPageSize = GridView1.PageSize; //获取每页显示记录数int iIndex = Convert.ToInt16(GridView1.Rows[i].DataItemIndex) - iPageIndex * iPageSize; //计算int id = Convert.ToInt32(GridView1.DataKeys[iIndex].Value);
GridView分页时数据重新绑定,即第2个需要注意的情况的解决:可以在首次指定数据集进行数据绑定时把数据集以静态成员变量的形式(static)保存起来。
int iPageIndex = GridView1.PageIndex; //获取当前页索引int iPageSize = GridView1.PageSize; //获取每页显示记录数int iIndex = 0;for (int i = 0; i < this.GridView1.DataKeys.Count; i++){ if(searchKey = Convert.ToInt32(this.GridView1.DataKeys[i].Value)) iIndex = i;}
从DataTable.Rows中删除行,不应该使用DataTable.Rows.RemoveAt(i)或者DataTable.Rows[i].Delete(), 两者都会减少DataTable.Rows.Count的数值大小,容易产生bug。比较好的方式是倒序删除行。
DataTable dt;// ...for(int i = dt.Rows.Count - 1; i >= 0; i--){ dt.Rows.RemoveAt(i);}
参考自:
GridView分页后RowCommand出错:索引超出范围 http://www.cnblogs.com/X-Jonney/archive/2009/05/20/1467804.html
使用AspNetPager与GridView完成分页 http://www.cnblogs.com/studyzy/archive/2008/07/30/1256877.html
- ASP.NET大数据量分页技术的初步体验技巧
- ASP.net大数据量下的分页
- ASP.NET大数据量查询分页例子
- ASP.NET大数据量查询分页例子
- Oracle大数据量分页显示的初步实现
- ASP构造大数据量的分页SQL语句。
- ASP构造大数据量的分页SQL语句。
- ASP构造大数据量的分页SQL语句
- 大数据量分页的存储过程及Asp调用
- ASP构造大数据量的分页SQL语句
- ASP构造大数据量的分页SQL语句
- Scott Mitchell 的ASP.NET 2.0数据教程之二十五:: 大数据量时提高分页的效率
- Scott Mitchell 的ASP.NET 2.0数据教程之二十五:: 大数据量时提高分页的效率
- Scott Mitchell 的ASP.NET 2.0数据教程之二十五:: 大数据量时提高分页的效率
- Scott Mitchell 的ASP.NET 2.0数据教程之二十五:: 大数据量时提高分页的效率
- mysql大数据量分页查询优化技巧
- 大数据量下的分页
- 大数据量下的分页
- windows 下配置JDK环境变量
- 宏定义(备用)
- 杭电2000
- C++数据结构与STL--栈的实现
- 二叉排序树
- ASP.NET大数据量分页技术的初步体验技巧
- 制作系统光盘安装时提示Media test failure,check cable
- 如何用批处理命令批量配对重命名
- 50个经典的SQL语句
- 工作一周记
- 工作慢慢累计
- git 查看远程分支、本地分支、创建分支、把分支推到远程repository、删除本地分支
- HDU 1253 胜利大逃亡(BFS)
- Java实现对map或hashmap排序的三种方法或思路