这段时间看完了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. mongoDB最新版安装

    转载自:http://www.higis.org/2012/04/25/ubuntu-install-mongodb/ ubuntu上安装mongodb本可以直接通过sudo apt-get inst ...

  2. datalist、repearter、gridview显示行号的三种方法 或者是获取datalist行id

    原文发布时间为:2009-05-06 -- 来源于本人的百度文章 [由搬家工具导入] 1. if you are using SQL Server, try select identity(int,1 ...

  3. Current Sourcing (拉電流) and Current Sinking(灌電流)

    Current Sourcing and Sinking Current sourcing and sinking is often mentioned in relation to electron ...

  4. Java IO 学习(一)同步/异步/阻塞/非阻塞

    关于IO,同步/异步/阻塞/非阻塞,这几个关键词是经常听到的,譬如: “Java oio是阻塞的,nio是非阻塞的” “NodeJS的IO是异步的” 但是这些东西听多了就容易迷糊,比方说同步是否就是阻 ...

  5. Spark-RDD之 zip

    zip这个函数是在scala中的,spark中也应用于RDD类型 val posLeftRDD = FreqDic1.map(line => line._1) zip sc.paralleliz ...

  6. codevs——1169 传纸条(棋盘DP)

    2008年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 小渊和小 ...

  7. MariaDB主从复制、主主复制

    1.部署 10.0.0.21  MariaDB-21 10.0.0.22  MariaDB-22 cat /etc/yum.repos.d/mariadb.repo [mariadb] name=Ma ...

  8. Oracle rac配置Weblogic数据源(实例名及URL的选择)

    这几天,应用程序后台一直报无法取得连数据库接池.但之前从来没有这个问题,迁移到Weblogic后才发生. 之后据了解,我们服务器上的Oracle 10G 是 RAC 的,即有两个节点. 两个节点 IP ...

  9. EasyMvc入门教程-基本控件说明(1)按钮

    按钮是我们最常用的控件之一了,先看下我们提供的按钮风格: 不同颜色的: 实现代码: @Html.Q().Button().Text("Danger").ColorDanger() ...

  10. EasyMvc入门教程-基本控件说明(13)选项卡导航

    选项卡Tab导航主要用于企业页面显示不同子类或者子页面的信息内容. 先来一个基本的使用例子:代码如下: @{ var data = new List<TabItem>() { new Ta ...