这段时间看完了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实现真假分页的更多相关文章

  1. Asp.Net北大青鸟总结(五)-数据绑定控件

        在前面的博客我已经介绍了关于一个特殊控件也是我们经经常使用到的控件gridview的使用实现真假分页.这也是属于绑定控件的一种使用.那么我们接下来来介绍一下数据绑定这门技术吧!  一.数据绑定 ...

  2. 北大青鸟Asp.net之颗粒归仓

    自从小编走进编程的世界以来,学习的编程知识都是和C/S这个小伙伴握手,直到做完牛腩老师的新闻发布系统,才开始了小编的B/S学习生涯,和B/S初次谋面,小宇宙瞬间爆发了,看着自己的第一个B/S系统,牛腩 ...

  3. 转:C#精髓 第四讲 GridView 72般绝技

    说明:准备出一个系列,所谓精髓讲C#语言要点.这个系列没有先后顺序,不过尽量做到精.可能会不断增删整理,本系列最原始出处是csdn博客,谢谢关注. C#精髓 第四讲 GridView 72般绝技 作者 ...

  4. 观《IT培训行业揭秘》触发北大青鸟回忆

    在园子里看到这篇文章<IT培训行业解密(六)>时,挺有感触,回忆顿时涌上心头: 我想起了当年单纯的我们因为各自的原因来到北大青鸟,或因前途迷茫而选择想找一条出路,或因父母的信息闭塞而想给我 ...

  5. ASP.NET MVC Model验证(四)

    ASP.NET MVC Model验证(四) 前言 本篇主要讲解ModelValidatorProvider 和ModelValidator两种类型的自定义实现,前者是Model验证提供程序,而Mod ...

  6. ASP.NET MVC Model绑定(四)

    ASP.NET MVC Model绑定(四) 前言 前面的篇幅对于Model绑定器IModelBinder以及实现类型.Model绑定器提供程序都作了粗略的讲解,可以把Model绑定器想象成一个大的容 ...

  7. ASP.NET MVC Model元数据(四)

    ASP.NET MVC Model元数据(四) 前言 前面的篇幅讲解了Model元数据生成的过程,并没有对Model元数据生成过程的内部和Model元数据结构的详细解释.看完本篇后将会对Model元数 ...

  8. ASP.NET MVC下的四种验证编程方式[续篇]

    在<ASP.NET MVC下的四种验证编程方式>一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式("手工验证"."标注Validation ...

  9. ASP.NET MVC下的四种验证编程方式

    ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定 ...

随机推荐

  1. 【CF1043D】Mysterious Crime(贡献)

    题意:给定m个人,每个人有n个数字且每个人的所有数字都是一个n的排列,求有多少种方案去掉某个前缀和后缀后m个人剩余的部分相等 m<=10,n<=1e5 思路:考虑极长的一段连续匹配的串,因 ...

  2. sql2008安装时 重新启动计算机 失败

    原文发布时间为:2010-11-02 -- 来源于本人的百度文章 [由搬家工具导入] sql2008安装时 重新启动计算机 失败解决方法:regedit 运行 打开注册表,找到HKEY_LOCAL_M ...

  3. [LeetCode] Maximum Product Subarray 连续数列最大积

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  4. Delphi 半透明窗体,窗体以及控件透明度

    很简单了 现在,适用所有控件和窗体: delphi设置窗口透明 form1.AlphaBlend :=true; //透明form1.AlphaBlendValue :=180; //透明度form1 ...

  5. Cryptography I 学习笔记 --- 认证加密

    1. 认证加密,Alice与Bob共享一个密钥k,Alice可以发送密文E给Bob,Bob可以确定接收到的E一定是拥有密钥k的Alice产生的.而不是攻击者随便产生的. 2. 认证加密必须能抵挡住选择 ...

  6. 牛客网 牛客练习赛13 B.幸运数字Ⅱ-数组 or DFS

    B.幸运数字Ⅱ 链接:https://www.nowcoder.com/acm/contest/70/B来源:牛客网     这个题就是找出来数据范围内的所有的幸运数,然后直接区间累加起来就可以了. ...

  7. TopCoder SRM 660 Div2 Problem 1000 Powerit (积性函数)

    令$f(x) = x^{2^{k}-1}$,我们可以在$O(k)$的时间内求出$f(x)$. 如果对$1$到$n$都跑一遍这个求解过程,时间复杂度$O(kn)$,在规定时间内无法通过. 所以需要优化. ...

  8. 10.1综合强化刷题 Day1 morning

    位运算1(bit) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK拥有一个十进制的数N.它赋予了N一个新的意义:将N每一位都拆开来后再加起来就是N所拥有 ...

  9. Network | 802.1x

    IEEE 802.1X是IEEE制定关于用户接入网络的认证标准(注意:此处X是大写),全称是“基于端口的网络接入控制”,属于IEEE 802.1网络协议组的一部分.于2001年标准化,之后为了配合无线 ...

  10. 2016.7.12 eclispe使用mybatis generator生成代码时提示project E is not exist

    运行mybatis-generator之后,出现错误:project E is not exist   错误原因:使用了项目的绝对路径. http://bbs.csdn.net/topics/3914 ...