这段时间看完了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. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---57

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  2. android init.rc命令快速对照表

    注1:另外还讲述了怎样输出log: Debugging notes---------------By default, programs executed by init will drop stdo ...

  3. centos 7 安装golang1.12.5

    本文主要介绍服务器端环境配置,开发环境是window的话可以参考 https://www.cnblogs.com/nickchou/p/10765743.html 方式一.用yum安装 1.用yum指 ...

  4. mysql 增加字段

    alter table 表名 add 字段 varchar(500) comment '备注' default 0 after 字段;

  5. 2018年东北农业大学春季校赛 E 阶乘后的0【数论】

    链接:https://www.nowcoder.com/acm/contest/93/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...

  6. Educational Codeforces Round 34 A. Hungry Student Problem【枚举】

    A. Hungry Student Problem time limit per test 1 second memory limit per test 256 megabytes input sta ...

  7. Codeforces 371A K-Periodic Array(模拟)

    题目链接 K-Periodic Array 简单题,直接模拟即可. #include <bits/stdc++.h> using namespace std; #define REP(i, ...

  8. OceanBase 2.1 的ORACLE兼容性能力探秘

    概述 OceanBase是一款通用的分布式关系型数据库,目前内部业务使用比较多有两个版本:1.4和2.1.OceanBase每个版本变化总能带给人很多惊喜,其中2.1版本实现了ORACLE很多特性的兼 ...

  9. 参数化1--jmeter参数化数据(_csvread函数、用户自定义变量等)

    以下是转载内容,仔细看过后,觉得用得最多的应该是csvread函数.用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中怎么查看执行结果是个问题,没找到对 ...

  10. angular使用canvas操作时报错

    最近,用 angular 前端框架为应用登录新增图形验证码认证,由于没有现成的插件,于是便使用canvas+js操作,也是可以正常使用,但是在编译阶段却有个报错: ERROR in src/app/l ...