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;  

        }
    }  

经过这段学习我了解了关于真假分页的事儿所以,以后还要继续学习他的一些东西,还有我明白了有时候自己走不通的时候可以看看别人是怎么做的,但是不要完全的借鉴,也要有自己的体会。

时间: 2024-11-06 22:28:14

Asp.Net北大青鸟总结(四)-使用GridView实现真假分页的相关文章

ASP.NET北大青鸟--总结篇

系统一下ASP,其实真没有多少东西,看完了整个北大青鸟的视频,我觉得东西在总结和不断对比中会由多变少,有少变多. (一)从概念总结内容 概念:ASP的主要功能是将脚本语言.HTML.组件(控件)和Web数据库访问功能有机地结合在一起,形成一个能在服务器端进行的应用程序. 总结:ASP可以分为4部分:脚本语言.HTML.控件和Web数据库访问功能.我们从四个方面总结,其实在很早以前后两个我们都已经不但接触过,而且很熟练,我们做过的机房收费系统就是用Windows form和Web数据库访问功能来实

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

在前面的博客我已经介绍了关于一个特殊控件也是我们经常用到的控件gridview的使用实现真假分页.这也是属于绑定控件的一种使用,那么我们接下来来介绍一下数据绑定这门技术吧!  一.数据绑定的概念 数据绑定是一项非常简单.有效的技术.asp.net采用数据绑定技术将显示控件的摸个属相与数据源绑定在一起.当数据源中的数据发生变化且重新请求网页时,被绑定对象中的属性将随数据源而改变. 二.数据绑定的应用范围 数据绑定的应用范围非常广泛,数据集.数组.集合.XML文档,甚至一般的变量,都可以作为数据源,

Asp.Net北大青鸟总结(二)-asp.net控件技术

<span style="background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">视频的学习已经进行得差不多了还有六集视频,却是自己也该是时候回头总结自己学习的东西了,自己也看了关于这方面的书籍,自己的总结

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

自从小编走进编程的世界以来,学习的编程知识都是和C/S这个小伙伴握手,直到做完牛腩老师的新闻发布系统,才开始了小编的B/S学习生涯,和B/S初次谋面,小宇宙瞬间爆发了,看着自己的第一个B/S系统,牛腩新闻发布系统,渐渐长大,对B/S的世界越来越着迷,北大青鸟视频里通过一个个完整的小例子来将web开发的流程进行了一步步的讲解,从开始设计到添加控件,再到调试和部署发布,使小编对web开发有了进一步的了解,重点当然是例子中涉及到的各个控件的使用,通过实现视频里的例子,对控件和web开发的一些知识也有了

实战检测北大青鸟某地方学校网站

本文写的是一次曲折的拿北大青鸟某地方学校网站shell的过程. 之前也曾拿过一个北大青鸟某网站的文章,我再次萌生了我个北大青鸟的网站练练手的想法.其实以前我也尝试过检测了几个北大青鸟地方学校的网站,简单看了下没有注入漏洞没有弱口令就放弃了.看了文章拿站的过程,方法并不难,所以我也决定找个网站来练练手. 一.确定目标 我首先到北大青鸟的主站看了一下,发现网站用的是独立服务器,虽然服务器所在的IP绑定了3个域名,但发现都是指向同一个网站,官方主站,看来旁注不用想了.简单看了下,意料之中不存在简单的注

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

在园子里看到这篇文章<IT培训行业解密(六)>时,挺有感触,回忆顿时涌上心头: 我想起了当年单纯的我们因为各自的原因来到北大青鸟,或因前途迷茫而选择想找一条出路,或因父母的信息闭塞而想给我们找的出路,或因年龄太小父母不放心这么早进入社会......; 想起了我们当时对技术老师.对班主任多么的尊敬,觉得他们可以带着我们一起改变人生: 想起了我们从开始听老师对未来蓝图的描绘而充满希望,到后来对老师,对学校的质疑,和对未来的恐慌: 想起了老师带我们做所谓的项目的荒谬场景: 想起了我们班最后一期同学们

天津北大青鸟蓝白金的经历(初识)

这件事要从2015年四月份开始说起,那是我第一次接触北大青鸟,我本来想学点技能,但不知道学什么比较好,就在网上搜"技能"两个字,第一个就是北大青鸟,是培训计算机编程的,我一向变成确实是一门比较有前途的行业吧.我就在网上咨询了一下,当时我什么也没问就在和他要了地址,我就去了北大青鸟昌平校区,足足花费了将近四个小时的时间在到那,我在天津,这一路过来连午饭都还没吃,在一个**科技学校里面,当时老师介绍的挺好的我也很满意的,环境也不错,我当时以为就那一家校区呢,后来回到家以后,我就有搜了搜北大

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

说明:准备出一个系列,所谓精髓讲C#语言要点.这个系列没有先后顺序,不过尽量做到精.可能会不断增删整理,本系列最原始出处是csdn博客,谢谢关注. C#精髓 第四讲 GridView 72般绝技 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.3.24-26 为了写本文,又搭工又搭料,累的2天2宿没睡觉,这篇文章实在是耗费我太多的心血,版权永远属于CSDN社区的我,请不要试图修改本文,破坏全文的完整性,希望您尊重我的劳动成果! 快速预览: Gr

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

在<ASP.NET MVC下的四种验证编程方式>一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式("手工验证"."标注ValidationAttribute特性"."让数据类型实现IValidatableObject或者IDataErrorInfo"),那么在ASP.NET MVC框架内部是如何提供针对这四种不同编程方式的支持的呢?接下来我们就来聊聊这背后的故事. 一.ModelValidator与ModelVal