控件,但其中只有DataGrid控件提供分页功能。...命名空间里) 本篇文章主要说怎么使用PagedDataSource类实现DataList和Repeater控件的分页显示。...DataGrid控件内部也使用了PagedDataSource类,PagedDataSource 类封装 DataGrid 控件的属性,这些属性使 DataGrid 可以执行分页。 ...没错,DataGrid控件就是使用PagedDataSource类来实现数据分页显示的 。...下面举个使用PagedDataSource类实现DataList和Repeater控件的分页显示的例子: public void Page_Load(Object src,EventArgs e)
前几天做项目,遇到一个问题,要求比较复杂的数据格式显示,用DataGrid非常难实现,后来改用了Repeater控件来实现。不过这样就带来一个新问题:怎么分页?Repeater没有内置的分页功能。...= 0 ; i < rptFramework.Items.Count ; i++ ) { rptFramework.Items[i].Visible = false; } //Repeater控件的页面大小...int intPageSize = 10; //rptFramework控件的当前页索引(1起始) int intCurrentPageIndex = 0 ; if ( Request.QueryString...上一页按钮屏蔽 if ( Convert.ToInt32( Session["page"] ) == 1 ) { btnPre.Enabled = false; } //rptFramework控件的当前游标索引
上两篇随笔: 我的分页控件(未完,待续)——控件件介绍及思路 我自己写的一个分页控件(源码和演示代码)PostBack分页版 for vs2003、SQL Server 关于分页的误区 误区...上两篇好像介绍的不太详细,这里详细说明一下分页控件里使用的分页算法,也就是SQL语句。 分页一般分为四种情况 1、单字段排序,排序字段没有重复值。 2、单字段排序,排序字段有重复值。...ProductID >= @col and CategoryID = order by ProductID desc 说明: 第一行的定义,要根据字段类型来修改,看是比较麻烦,但是这个麻烦交给分页控件就可以了...,使用者,只要设置分页控件的属性就可以了。 ...6、这种分页算法有一个小的bug,就是显示最后一页数据的时候,会多出来几条记录,不过这个bug已经在分页控件里面修正了,最后一页的分页算法,采用特殊的select语句。
初识ASP.NET中的控件,还是折腾了一小会儿,就把我折腾的结果给大家看看: 表格显示数据时网站开发中的一个常见的功能,ASP.NET提供了很多工具在网页中显示表格,GridView控件就是最常见的一个...,下面说说如何实现这个控件的分页功能。...首先我在数据库中建好了一张表,里面输入了一些学生的信息 下面我们将数据库中的数据导入到GridView中,代码是这样的 首先引入命名空间: using System.Data.SqlClient...string[] { "StuNo" }; GridView1.DataBind(); } 接下来设置GridView的AllowingPage属性为True,下面是分页代码..." onpageindexchanging="GridView1_PageIndexChanging" PageSize ="3"> 数据就会分页显示了
分页控件的源代码,可能会让有些人失望,因为代码很乱。乱的一个原因呢,可能是没有采用OO的思路吧,因为写控件的时候还一点都不会OO呢,只是一直在用,也就没有作大的重构。...有两个分页控件, 一个是通过PostBack来分页的,一个是通过URL来分页的。 先说PostBack的吧。 推荐使用环境,后台管理、OA等。...分页控件自带了两种分页算法。为什么要有两种分页算法呢?因为分页的要求是不一样的呀。 1、一个排序字段,且排序字段没有重复值。 2、多个排序字段,且最后一个排序字段没有重复值。...对于第一种情况,分页控件设置起来也很简单。... Response.Cache.SetNoStore(); Page1.PubShowDataObject = DG; //设置显示数据的控件
程序有3个控件 BindingNavigator: 就是DataGridView控件上面的那个,在工程里名字: bindngrDemo DataGridView: dgvDemo BindingSource...: 这个其实可以不要 bindseDemo 示例采用的是SQL SERVER的示例数据库pub 在pub数据库里写入分页存储过程 CREATE PROCEDURE [dbo]....int pageSize = 20; static int pageCount = 0; #endregion ... } 上面2个变量,一个定义在数据库里分页时...,每页的大小; 另一个用来接收存储过程分页时,输出的总页数。...bindngrDemo.MoveLastItem.Enabled = true; } } 至此就全部完了,里面其他的部分就由自己编写了,比如DataGridView控件的显示等等
屏幕截图 使用UIPageViewController去实现这种滚动分页的控制,我们可以忽略比如view的复用,scroll的各种计算,我们只需要少量的代码就可以实现一个高性能的分页控件 我们只需要实现...self.selected(buttons[index]) } } 该代理将会在翻页完成时调用,此时我们取出当前页面,就知道当前的页码了,然后再通过当前的页码来控制标题的变化,这样一个简单的分页控件就完成了
老孟导读:前2天有读者问到是否有带分页功能的表格控件,今天分页功能的表格控件详细解析来来。...PaginatedDataTable PaginatedDataTable是一个带分页功能的DataTable,生成一批数据,项目中此一般通过服务器获取,定义model类: class User {...Text('性别')), DataColumn(label: Text('年龄')), ], source: MyDataTableSource(_data), ) header表示表格顶部控件...columns表示每一列的列头控件。
设计思路,对翻页控件定义接口,基类实现,如果所列的翻页控件样式或功能无法满足你的需求的话,你只需要基类翻页控件基类或者实现接口即可。...定义接口是因为后面的一些列表控件内置了翻页控件,为了达到兼容扩展,所有使用了接口定义约束。...49 /// 当前页 50 /// 51 int PageIndex { get; set; } 52 } 然后定义一个分页基类控件...protected virtual void ShowBtn(bool blnLeftBtn, bool blnRightBtn) 252 { } 253 } 254 } 接下来就是具体的实现分页控件了...,我们将实现2种不同样式的分页控件以适应不通的场景, 第一种 ?
二、 流程 l 设置分页控件的属性 l 根据算法和属性生成SQL语句,通过“我的数据访问层”访问数据库 l 得到记录集(比如DataTable) l 把记录集绑定到指定的控件(比如DataGrid) 三...、 分页算法 1、 数据库因素 因为不同的数据库对于T_SQL都有不同的标准,在分页的地方差别就更大了。...四、 多种数据库 上面只是考虑了一种数据库(MSSQL)的情况,那么其他的数据库呢?我的解决方法是——更换分页算法。不同的数据库使用不同的分页算法。...保证属性不变的情况下根据数据库来组合成不同的SQL语句。实在不行的话再写一个分页控件。 五、 分页方式 PostBack分页。这个和DataGrid自带的那个分页很像。...其它的数据库(Access、Excel除外)的支持还没有实现,只是有了一个思路。 3、 不符合“标准” 也许您会说我的这个分页控件不符合MVC、不符合三层架构等等。我的原则是:好用就行,其他的不管。
Postback分页 再看看现有的几种分页方式。Postback分页方式可以利用ViewState来很方便的保存查询条件,但是由于采用表单提交的方式实现,搜索引擎不能识别。...可能的方法 您可能会说,对于一般的不用查询的分页显示数据的需求,可以URL分页来实现。而对于需要查询的需求,我们在换成Postback的分页方式。 这个是可以的,但是也不太方便。 ...那么能不能方便的把Postback分页和URL分页的优点结合起来呢?自然框架里的QuickPager分页控件新增了一种“伪URL分页”的方式(不知道有没有其他人也是实现了类似的方法)。...这种新的方式结合了Postback分页和URL分页的优点。 伪URL分页 看起来像URL分页,当鼠标放在“下一页”(其他也类似)上面,会显示xxx.aspx?page=3这类的信息。... //数据访问函数库的实例 Pager1.DAL = Data.DALFactory.CreateDAL(); //设置显示数据的控件
namespace JYK.Controls.PageManage { /**//// /// 生成分页控件需要的SQL语句 /// ...public class PageSQL { /**//// /// 分页控件的实例 /// ... #endregion } } namespace JYK.Controls.PageManage { /**//// /// 负责绘制分页控件的显示内容... /// public class PageUI { /**//// /// 分页控件的实例 ... /// public class PageGetData { /**//// /// 分页控件的实例
想要操作简单就要封装成自定义控件,要想性能好就要研究数据库的特点,SQL语句的分页算法,最最重要的就是要设置好合理的索引!往往索引是最重要的,但同时往往又是被忽略的。 ...于是一方面研究自定义服务器控件如何编写,一面研究如何写SQL语句才能让提取数据更快,由于一直在使用SQL Server2000,所以分页算法也都是围绕这个数据库转的。...和吴旗娃的分页控件相比,以前的分页控件确实是缺乏灵活性,对多种数据库支持的不好,分页算法也不能灵活的更换和自由编写,只能用DataTable来承载数据,PostBack分页和URL分页也是使用了两个控件来实现...不过我也没有想把所有的数据库的所有可能的分页算法都写到数据库里,可以在分页控件的外面继承PageSQL类来写一个子类,在这个子类里面实现需要的分页算法,然后把这个实例赋值给分页控件就ok了。...而是用分页控件的形式就方便多了,因为是在分页控件内部组合分页算法的,只要保持属性(TabletName等)不变就可以了,用这些属性几乎和一组合成任意的分页算法,不怕数据库的升级、算法的更换。
GridView控件自带分页功能,不过他是需要我们将所有数据查出来放到页面上,然后通过他内置的功能来实现分页,我本人不太喜欢,但对于小量数据时挺方便的。...这里我介绍一下数据库分页和自定义分页导航(使用GridView控件) 其效果如下图: ? 1、首先,我们要给一个空模板好让我们可以绑定数据。这个模板要有表头: ?...操作这一列,是空的,用来放我们的控件按钮的,所以选择TemplateField,然后添加表头名,主要,最后要把【自动生成字段】的勾去掉,才能让模板呈现我们想要的列。 ?...在这里我们拖拉或双击【Button】控件,要两个,一个编辑,一个删除。不添加事件。...2、数据库分页,按固定条数查出数据,类似于下面的,尽量不要使用DataTable。
上次比较匆忙,Ajax的分页方式仅实现了基本功能,或者说只是验证了我的想法。现在对Ajax分页有做了一些调整,现在可以正式用了。 ...最后把Repeater控件(其他控件也可以,比如GridView等)放在,必须是这个ID名,目前没有把这个名称做到分页控件的属性里面,如果你想修改的话,需要修改QuickPager...这个是为了给那些原来使用服务器控件(GridView、Repeater等)来写程序,后来由于某种原因必须实现Ajax方式来分页,但是又不想对原来的代码做大幅度的修改的情况。 ...你可以按照以前的方式来设置Repeater、GridView等控件,然后按照要求设置QuickPager分页控件就可以了。很简单。 ...进入后还是Ajax的分页。 后台代码: 代码 /// /// Ajax的分页,Repeater控件的演示。
namespace JYK.Controls { /**//// /// 分页控件 /// PageGetData.cs 负责提取数据 /// PageSQL.cs... 负责生成SQl语句 /// PageUI.cs 负责分页控件的页面内容 /// [DefaultProperty("Text")] [ToolboxData...WebControl, INamingContainer, IPostBackEventHandler { /**//// /// 访问数据库用的实例... } #endregion 响应分页事件#region 响应分页事件 /**//// /// 响应分页事件...base.Page.Response.Write(a + "+" + PageIndex); } #endregion /**//// /// 接收分页控件的回发事件
代码 /// /// postback 的最简单的分页设置 /// public partial class PostSimpleness...Pager1.DAL = base.Dal ; //设置显示数据的控件 Pager1.ShowDataControl = this.GV; ...//定义QuickPager_SQL,设置Page属性 Pager1.PagerSQL.Page = this; //默认是PostBack的分页方式 ...Pager1.PagerSQL.TablePKColumn = "ListColID"; //主键名称,不支持复合主键 //排序字段也是必须设置的,否则就无法准确分页...20条记录 //Pager1.PageSize = 4; //一页显示的记录数 //设置分页方式
model.SID.ToString()+")'>删除"); index++; } } } } 自绘分页控件
猫框控件上新-qiyu_pagination分页控件 控件长这样。...里面主要的控制属性有三个 属性名 默认值 说明 pageno 1 页码,数值型 pagesize 50 每页行数,数值型 totalpage 0 后端返回总页数 使用方法也非常简单 拖入猫框表单,拖入表单和分页控件...Thisform.qiyu_pagination1.totalpage=Ceiling(oDBSQLHelper.nTotal/nPageSize) Endif 表单的init方法,取得总页码并赋值给分页控件...每页只返回50行,也可以通过分页控件来控制每页返回行数。 这个控件不依赖数据库,无论是CS模式,还是中间层模式都是可以使用的。 我见过有些人写的控件,耦合特别严重,分离都分离不出来。...中间层模式,就是指另外发布一个中间层服务器,通过它来访问数据库,也就不是CS模式了。(不同项目了)
参考网络上大牛的文章,特别感谢伍华聪,分享了许多分页的文章。 无论什么类型的数据库,数据量大了就需要分页,数据量大了,就要考虑分页的效率等。效率在此不做分析。...分页控件支持不同类型数据库如:MS SQLServer MySQL SQLite Access等,只要有分页SQL语句,即可根据vb.net教程分页信息,取出相应的数据内容,再将数据内容绑定或者加工显示到...分页控件需要做的事: 显示页面信息。 可以随意跳转到指定的页。 根据页面信息返回具体的SQL分页语句。 返回取出的数据内容。...分页控件UI测试 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189623.html原文链接:https://javaforall.cn
领取专属 10元无门槛券
手把手带您无忧上云