分页控件的测试思路(如何使用Silverlight的DataPager数据分页控件)

2024-04-15 07:00:03 :18

分页控件的测试思路(如何使用Silverlight的DataPager数据分页控件)

本篇文章给大家谈谈分页控件的测试思路,以及如何使用Silverlight的DataPager数据分页控件对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

如何使用Silverlight的DataPager数据分页控件

首先,我们要新建一个Silverlight应用,并添加对下面DLL的引用:  System.Windows.Data(其提供了PagedCollectionView类用于实现分页绑定)  System.Windows.Controls.Data(分页器控件DataPager所在DLL)  XAML文件头部名空间声明:  xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" 然后我们要在当前XAML中放置一个DataGrid用于显示列表数据,声明如下:  《data:DataGridx:Namedata:DataGridx:Name="MyDataGrid"Grid.Column="0"Grid.Row="0"ItemsSource="{Binding}"/》 为了演示不同显示样式(DisplayMode)的效果,下面根据其样式分别加以声明:  《data:DataPagerx:Namedata:DataPagerx:Name="FirstLastNumeric"Grid.Row="2"DisplayMode="FirstLastNumeric"Margin="0,0,0,4" HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="3"AutoEllipsis="True"/》 《data:DataPagerx:Namedata:DataPagerx:Name="FirstLastPreviousNext"Grid.Column="0"Grid.Row="3"DisplayMode="FirstLastPreviousNext" Margin="0,0,0,4"HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="3"AutoEllipsis="True"/》 《data:DataPagerx:Namedata:DataPagerx:Name="FirstLastPreviousNextNumeric"Grid.Column="0"Grid.Row="4"DisplayMode="FirstLastPreviousNextNumeric" Margin="0,0,0,4"HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="4"AutoEllipsis="True"/》 《data:DataPagerx:Namedata:DataPagerx:Name="Numeric"Grid.Column="0"Grid.Row="5"DisplayMode="Numeric"HorizontalAlignment="Left" Margin="0,0,0,4"Source="{Binding}"NumericButtonCount="6"AutoEllipsis="False"/》 《data:DataPagerx:Namedata:DataPagerx:Name="PreviousNext"Grid.Column="0"Grid.Row="6"DisplayMode="PreviousNext"Margin="0,0,0,4" HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="3"AutoEllipsis="False"/》 《data:DataPagerx:Namedata:DataPagerx:Name="PreviousNextNumeric"Grid.Column="0"Grid.Row="7"DisplayMode="PreviousNextNumeric"Margin="0,0,0,4" HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="4"AutoEllipsis="False"/》 好了,为了便于演示,我“硬编码”了一个数据对象集合如下:  publicList《EmployeeInfo》GetEmployeeList() { List《EmployeeInfo》employeeList=newList《EmployeeInfo》(); employeeList.Add(newEmployeeInfo{EmployeeID=1,EmployeeName="大林",Salary=1000,City="合肥"}); employeeList.Add(newEmployeeInfo{EmployeeID=2,EmployeeName="小林",Salary=1000,City="合肥"}); employeeList.Add(newEmployeeInfo{EmployeeID=3,EmployeeName="张三",Salary=1000,City="合肥"}); employeeList.Add(newEmployeeInfo{EmployeeID=4,EmployeeName="李四",Salary=1500,City="天津"}); employeeList.Add(newEmployeeInfo{EmployeeID=5,EmployeeName="王五",Salary=2000,City="上海"}); employeeList.Add(newEmployeeInfo{EmployeeID=6,EmployeeName="赵六",Salary=-800,City="北京"}); employeeList.Add(newEmployeeInfo{EmployeeID=7,EmployeeName="尤七",Salary=2100,City="武汉"}); employeeList.Add(newEmployeeInfo{EmployeeID=8,EmployeeName="马八",Salary=2300,City="海口"}); employeeList.Add(newEmployeeInfo{EmployeeID=9,EmployeeName="许九",Salary=2300,City="海口"}); employeeList.Add(newEmployeeInfo{EmployeeID=10,EmployeeName="代十",Salary=2300,City="海口"}); returnemployeeList; } publicclassEmployeeInfo { publicintEmployeeID{set;get;} publicstringEmployeeName{set;get;} publicintSalary{set;get;} publicintCost{get;set;} publicstringCity{set;get;} } 接下来就是如何实现分页,以及相关控件的数据绑定了,代码位于MyDataPager.xaml.cs(详见注释):  usingSystem.Windows.Data; publicMyDataPager() { InitializeComponent(); PagedCollectionViewpcv=newPagedCollectionView(GetEmployeeList()); pcv.PageSize=3;//一页显示三条记录 //列表控件数据源绑定 MyDataGrid.DataContext=pcv; MyListBox.DataContext=pcv; //分页控件数据源绑定 FirstLastNumeric.DataContext=pcv; FirstLastPreviousNext.DataContext=pcv; FirstLastPreviousNextNumeric.DataContext=pcv; Numeric.DataContext=pcv; PreviousNext.DataContext=pcv; PreviousNextNumeric.DataContext=pcv; } 是不是很好用,呵呵。当然该控件还提供了NumericButtonCount属性用于控制页码的数量,这在上面的XAML控件声明时已使用,大家可以修改测试一下效果。

如何使用asp.net web页面自定义分页控件

假如数据库有10000条记录,默认SQL是分页把这10000条记录都取出来,然后利用GridView内置功能分页,显示出来,那么只显示20条,SQL也是取出1000条,而自定义分页则是利用SQL,使用20条,就从数据库里去20条,其他的不取,所以,效率较高,但是实现稍微麻烦点。

假设你要实现类似如下一个自定义产品分页列表

数据库主要设计如下字段

那么自定义SQL分页需要思考如下几个问题:

(1)总共有多少条记录。(可用 select count(*) from Products 得到 10000条)

(2)页面大小NumRows。(也就是每页记录数,例如 20条也一页)

由上面(1)和(2)就可以得出可以分多少页。 10000/20=500页。

(3)当前是第几页 startRowIndex。

例如用户点击到第3页,每页20条,那么第4页就是 从 3*20+1=61开始计算。

知道了上面参数,还需要知道SQL提供了一个 Row_Number函数,他可以把数据库每行增加一个索引,通过比较  Row在 @startRowInx 和  @StartRowIndex+@NumRows-1 就可以获取分页的记录数。具体如下

当取到上面的数据后,就可以自己build上一页,下一页等页面了。

如何使用patnet分页控件

PatNet.PageList分页控件与AspNetPager分页控件的功能差别1、定位不同:AspNetPager是针对现有的Web控件来分页,只为Web分页控件提供分页导航的显示,本身不显示数据,也就是说它是各个Web分页控件的附体,服务于各个Web分页控件;而PatNet.PageList是一个自定义分页控件,它是一个独立体,和各个Web控件处于同一级别,服务于自己,既显示数据视图,又显示分页导航。2、功能数量:AspNetPager分页控件只实现分页航导这一单一功能,PatNet.PageList分页控件,实现数据视图的显示(AspNetPager依附于Web控件来显示)、分页导航的显示、内封装分页算法数据读取功能(AspNetPager依附于存储过程或自己写SQL代码实现),从面象对象的设计思想来看,AspNetPager要实现一个分页列表的显示,需要三个方面的融合(Web分页控件、AspNetPager、数据读取),这样比较分散,使用起来也很麻烦,代码很多;而PatNet.PageList分页控件紧密无缝的封装性,实现一个分页列表,就是一个整体,客户端程序员的代码极其简洁。3、分页算法:AspNetPager是程序员在客户端用存储过程或DataAdapter对象为Web控件提供数据源,PatNet.PageList内置多种优秀的分页算法,为自己提供数据源,无需程序员关心。采用的是轻量级数据读取对象DataReader。4、缓存支持:AspNetPager无,PatNet.PageList内置滑动缓存机制。在大数据量的情况下,优其重要,AspNetPager每进行一次换页,都要对数据表的记录数进行统计,以得到RecordCount。而PatNet.PageList分页控件,只在第一次加载时得到RecordCount。本人在Count几百万记录的情况下作过一次试验,单Count它就需要10几秒钟!5、控件数量:AspNetPager服务于多种Web分页控件,而PatNet.PageList是倒过来的,它是一个程序集,内含多个独立的分页控件(目前三个),以应用于不同的场合。6、首页列表:AspNetPager不支持,在Web应用程序中,首页列表是一种没有分页的列表,数据量小,每个列表的显示都是一个TOP列表,做过WEB的朋友都有这样的感受:很重复。而PatNet.PageList下的PoorPageList分页控件就是专为这种列表准备的,为程序员卸下重复单一的包袱,而首页又是一个WEB站点访问量最高的页面,可以说首页的性能即代表着整个WEB站点的性能,所以不能忽视,PatNet.PageList下的PoorPageList分页控件,可以完全解决这个性能问题,因为它内置数据源滑动缓存机制,使首页的读取速度提高上百倍。7、页码显示:AspNetPager的页码显示方式很丰富,PatNet.PageList的页码显示方式也不逊色,它也支持多种显示方式,数字页面,上一页,下一页之类(可以用图片),跳转页码等方式。8、列表数据元素的更改:如果一个列表的某列显示数据要更改成其它列的数据显示(如文章列表中,预先显示:文章标题、作者,之后要改成文章标题、发表时间的显示),在AspNetPager中,只能到存储过程中或程序中更改(需要重新编译),而在PatNet.PageList分页控件中,只要在aspx页面改一下就行了(不需要重新编译)9、多数据库的支持:两者都支持多数据库,但支持方式不同,AspNetPager要根据不同数据库编写不同的代码实现,PatNet.PageList分页控件不需要。两种控件都能在各种场合使用,发挥其功能,提高分页速度,相比下来,AspNetPager代码较多,而PatNet.PageList代码简洁明了,怎样选择在于你的使用!

.net分页怎么样实现只查询当前页的数据

基本思路是先获取当前页码,一般可以在点击页面后传到到地址栏、Session、Cookie再获取;获取查询的起始及终止范围,一般是每页的记录数;稍麻烦的地方在于,要把数据先按条件排序,再获取指定范围段的数据,一般用存储过程来完成,你可以百度一下“ASP.net 分页存储过程”,界面上可以配合使用ASPNetPager第三方分页控件来完成,这个控件自带的有示例和存储过程生成器

关于本次分页控件的测试思路和如何使用Silverlight的DataPager数据分页控件的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

分页控件的测试思路(如何使用Silverlight的DataPager数据分页控件)

本文编辑:admin
Copyright © 2022 All Rights Reserved 威海上格软件有限公司 版权所有

鲁ICP备20007704号

Thanks for visiting my site.