温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Silverlight的DataPager数据分页控件

发布时间:2021-07-15 14:48:31 来源:亿速云 阅读:121 作者:chen 栏目:编程语言

本篇内容介绍了“怎么用Silverlight的DataPager数据分页控件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

下面是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;}  publicint[]Cost{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控件声明时已使用,大家可以修改测试一下效果。

“怎么用Silverlight的DataPager数据分页控件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI