Asp.Net北大青鸟总结(四)-使用GridView实现真假分页
这段时间看完了asp.net视频。可是感觉到自己的学习好像没有巩固好,于是又在图书馆里借了几本关于asp.net的书感觉真的非常好自己大概对于asp.net可以实现主要的小Demo。可是我知道仅仅有真正的使用才可以有所收获,并且自己的认识度还是要进一步的学习。在这一部分的学习中自己也算是对于分页有了一个主要的了解了吧,也用它做出来的几个主要的Demo。那么接下来我们来看一下这个控件的用于真假分页的一些用法。
一.什么是真假分页
1.假分页:
假分页尽管在界面上实现了分页的,可是他并没有实现分页。每一次点击页数的时候都要从数据库中讲全部的数据再又一次查一遍,也就是说这样每次都从数据库中查询一次那么就会影响他查询速度。所以假分页尽管是实现了界面上的分页可是还是没有实现真正的分页。
2.真分页:
那么我们知道假设想要真正的实现分页,就是每次仅仅是查询出想要页面的数据。这样就能够降低每次查询的数据的量并且还能够提高查询的效率,真正的实现了翻一页查一页。
二.基本实现
1.假分页
我们视频里的视频比較历史悠久所以当我们学到这里的时候控件已经改了名字了,可是还是换汤不换药。还是要经过这么几个步骤才干够。1>要在gridview中改变他的AllowPaging属性改为true,然后将PageSize设为你想分页的数目。然后接下来就是要将控件绑定数据库
protected void Page_Load(object sender, EventArgs e)
{
//页面第一次载入
if (!Page.IsPostBack )
{
//绑定数据
GridView1.DataSource = MyData();
GridView1.DataBind();
}
} protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
DataTable dt = MyData(); GridView1.DataSource = dt;
GridView1.DataBind(); } private static DataTable MyData()
{
SqlConnection con = new SqlConnection("server=.;database=northwind;uid=sa;password=gss123");
con.Open();
string strCmd = "select * from comment";
SqlCommand cmd = new SqlCommand(strCmd,con );
SqlDataReader sdr = cmd.ExecuteReader();
DataTable dt=new DataTable ();
dt.Load(sdr );
con.Close();
return dt; }
}
以上就是假分页的数据绑定。
2.真分页
真分页但是要花一点功夫的,真分页是须要aspnetpaper这个第三方控件的,须要下载他的DLL文件然后在拖动至工具箱的然后在使用它,他就是一个翻页的工具
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack )
{
//窗口打卡时,起始数据编号为0,终止数据编号为每页的信息条数
int intStartIndex = ANP.PageSize * 0;
int intEndIndex = ANP.PageSize * 1;
<span style="color:#ff0000;"><strong> ANP.RecordCount = MyAllData().Rows.Count;</strong></span>
//绑定数据
GridView1.DataSource = MyPartData(intStartIndex, intEndIndex);
GridView1.DataBind();
}
}
/// <summary>
/// 改变了页数的数据显示
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ANP_PageChanged(object sender, EventArgs e)
{
//起始数据编号=每页的信息容量*(当前页数-1)+1。
//例:第六页,每页显示5条,第六页的起始数据=5*5+1=26;
int intStartIndex=ANP.PageSize * (ANP.CurrentPageIndex-1)+1;
int intEndIndex = ANP.PageSize * ANP.CurrentPageIndex;
GridView1.DataSource = MyPartData(intStartIndex,intEndIndex );
GridView1.DataBind(); }
/// <summary>
/// 分页查询
/// </summary>
/// <param name="intStartIndex">開始的数据编号</param>
/// <param name="intEndIndex">结束的数据编号</param>
/// <returns>表格</returns>
private static DataTable MyPartData(int intStartIndex,int intEndIndex)
{
SqlConnection con = new SqlConnection("server=.;database=newssystem;uid=sa;password=123456");
con.Open();
string strCmd = "select * from comment";
SqlCommand cmd = new SqlCommand(strCmd,con );
SqlDataReader sdr = cmd.ExecuteReader();
DataTable dt=new DataTable ();
dt.Load(sdr );
con.Close();
return dt; }
/// <summary>
/// 所有查询
/// </summary>
/// <returns></returns>
private static DataTable MyAllData()
{
SqlConnection con = new SqlConnection("server=.;database=northwind;uid=sa;password=gss123");
con.Open();
string Cmd = "select * from comment";
SqlCommand cmd = new SqlCommand(Cmd, con);
SqlDataReader sdr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(sdr);
con.Close();
return dt; }
}
经过这段学习我了解了关于真假分页的事儿所以,以后还要继续学习他的一些东西,还有我明确了有时候自己走不通的时候能够看看别人是怎么做的,可是不要全然的借鉴,也要有自己的体会。
Asp.Net北大青鸟总结(四)-使用GridView实现真假分页的更多相关文章
- Asp.Net北大青鸟总结(五)-数据绑定控件
在前面的博客我已经介绍了关于一个特殊控件也是我们经经常使用到的控件gridview的使用实现真假分页.这也是属于绑定控件的一种使用.那么我们接下来来介绍一下数据绑定这门技术吧! 一.数据绑定 ...
- 北大青鸟Asp.net之颗粒归仓
自从小编走进编程的世界以来,学习的编程知识都是和C/S这个小伙伴握手,直到做完牛腩老师的新闻发布系统,才开始了小编的B/S学习生涯,和B/S初次谋面,小宇宙瞬间爆发了,看着自己的第一个B/S系统,牛腩 ...
- 转:C#精髓 第四讲 GridView 72般绝技
说明:准备出一个系列,所谓精髓讲C#语言要点.这个系列没有先后顺序,不过尽量做到精.可能会不断增删整理,本系列最原始出处是csdn博客,谢谢关注. C#精髓 第四讲 GridView 72般绝技 作者 ...
- 观《IT培训行业揭秘》触发北大青鸟回忆
在园子里看到这篇文章<IT培训行业解密(六)>时,挺有感触,回忆顿时涌上心头: 我想起了当年单纯的我们因为各自的原因来到北大青鸟,或因前途迷茫而选择想找一条出路,或因父母的信息闭塞而想给我 ...
- ASP.NET MVC Model验证(四)
ASP.NET MVC Model验证(四) 前言 本篇主要讲解ModelValidatorProvider 和ModelValidator两种类型的自定义实现,前者是Model验证提供程序,而Mod ...
- ASP.NET MVC Model绑定(四)
ASP.NET MVC Model绑定(四) 前言 前面的篇幅对于Model绑定器IModelBinder以及实现类型.Model绑定器提供程序都作了粗略的讲解,可以把Model绑定器想象成一个大的容 ...
- ASP.NET MVC Model元数据(四)
ASP.NET MVC Model元数据(四) 前言 前面的篇幅讲解了Model元数据生成的过程,并没有对Model元数据生成过程的内部和Model元数据结构的详细解释.看完本篇后将会对Model元数 ...
- ASP.NET MVC下的四种验证编程方式[续篇]
在<ASP.NET MVC下的四种验证编程方式>一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式("手工验证"."标注Validation ...
- ASP.NET MVC下的四种验证编程方式
ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定 ...
随机推荐
- 【HDOJ5521】Meeting(最短路)
题意:有n个点,m个点集,每个点集中有e[i]个点,同一点集的点互相之间到达需要t[i]单位的时间,求min(max(dis(1,i),dis(i,n))),i属于[1,n] 输出最小值并増序输出所有 ...
- Controller方法返回值
1. 返回ModelAndView controller方法中定义ModelAndView对象并返回,对象中可添加model数据.指定view. //入门程序 第一 包类 + 类包 + 方法名 @Re ...
- 【jetty】jetty服务器的使用
1.下载jetty服务器: http://www.eclipse.org/jetty/previousversions.html 2.下载后解压:
- [SaltStack] Multi-Master配置
Multi Master配置 从salt 0.16.0版本开始, 管理minions可以使用multi-master特性. 当使用multi-master时, 所有masters均可以正常运行, 任何 ...
- 关联分析(Apriori算法)
两个概念: 频繁项集:常出现的物品集合 关联分析:找到诸如:尿布-->啤酒的关联,反过来则是另一条 两个控制参数: 项集的支持度(support):一个项集出现的次数在所有样本中出现的比例 可信 ...
- scala之split()函数用法
split()函数: def split(arg0: String): Array[String] def split(arg0: String, arg1: Int): Array[String] ...
- 判断图连通的三种方法——dfs,bfs,并查集
Description 如果无向图G每对顶点v和w都有从v到w的路径,那么称无向图G是连通的.现在给定一张无向图,判断它是否是连通的. Input 第一行有2个整数n和m(0 < n,m < ...
- 创建一个vue-cli项
一.vue cli脚手架 Vue 提供了一个官方的cli,为单页面应用 (SPA) 快速搭建繁杂的脚手架,通过这个工具我们就可以很方便的来创建一个基于vue的项目. 二.安装一些必要的东西node.n ...
- 洛谷 P4256 公主の#19准备月考
题目背景 公主在玩完游戏后,也要月考了.(就算是公主也要月考啊QWQ) 题目描述 公主的文综太差了,全校排名1100+(全校就1100多人),她分析了好久,发现她如果把所有时间放在选择题上,得分会比较 ...
- UVA 11389 The Bus Driver Problem 贪心水题
题目链接:UVA - 11389 题意描述:有n个司机,n个早班路线和n个晚班路线,给每个司机安排一个早班路线和一个晚班路线,使得每个早班路线和晚班路线只属于一个司机.如果一个司机早班和晚班总的驾驶时 ...