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

下面是DataPager数据分页控件演示效果:

接着介绍一下其使用方法。

首先,我们要新建一个Silverlight应用,并添加对下面DLL的引用:

System.Windows.Data(其提供了PagedCollectionView类用于实现分页绑定)

System.Windows.Controls.Data(分页器控件DataPager所在DLL)

XAML文件头部名空间声明:

 
 
 
 
  1. xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"

然后我们要在当前XAML中放置一个DataGrid用于显示列表数据,声明如下:

 
 
 
 
  1. <data:DataGridx:Namedata:DataGridx:Name="MyDataGrid"Grid.Column="0"Grid.Row="0"ItemsSource="{Binding}"/>

为了演示不同显示样式(DisplayMode)的效果,下面根据其样式分别加以声明:

 
 
 
 
  1. <data:DataPagerx:Namedata:DataPagerx:Name="FirstLastNumeric"Grid.Row="2"DisplayMode="FirstLastNumeric"Margin="0,0,0,4"
  2. HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="3"AutoEllipsis="True"/>
  3. <data:DataPagerx:Namedata:DataPagerx:Name="FirstLastPreviousNext"Grid.Column="0"Grid.Row="3"DisplayMode="FirstLastPreviousNext"
  4. Margin="0,0,0,4"HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="3"AutoEllipsis="True"/>
  5. <data:DataPagerx:Namedata:DataPagerx:Name="FirstLastPreviousNextNumeric"Grid.Column="0"Grid.Row="4"DisplayMode="FirstLastPreviousNextNumeric"
  6. Margin="0,0,0,4"HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="4"AutoEllipsis="True"/>
  7. <data:DataPagerx:Namedata:DataPagerx:Name="Numeric"Grid.Column="0"Grid.Row="5"DisplayMode="Numeric"HorizontalAlignment="Left"
  8. Margin="0,0,0,4"Source="{Binding}"NumericButtonCount="6"AutoEllipsis="False"/>
  9. <data:DataPagerx:Namedata:DataPagerx:Name="PreviousNext"Grid.Column="0"Grid.Row="6"DisplayMode="PreviousNext"Margin="0,0,0,4"
  10. HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="3"AutoEllipsis="False"/>
  11. <data:DataPagerx:Namedata:DataPagerx:Name="PreviousNextNumeric"Grid.Column="0"Grid.Row="7"DisplayMode="PreviousNextNumeric"Margin="0,0,0,4"
  12. HorizontalAlignment="Left"Source="{Binding}"NumericButtonCount="4"AutoEllipsis="False"/>

好了,为了便于演示,我“硬编码”了一个数据对象集合如下:

 
 
 
 
  1. publicListGetEmployeeList()
  2. {
  3. ListemployeeList=newList();
  4. employeeList.Add(newEmployeeInfo{EmployeeID=1,EmployeeName="大林",Salary=1000,City="合肥"});
  5. employeeList.Add(newEmployeeInfo{EmployeeID=2,EmployeeName="小林",Salary=1000,City="合肥"});
  6. employeeList.Add(newEmployeeInfo{EmployeeID=3,EmployeeName="张三",Salary=1000,City="合肥"});
  7. employeeList.Add(newEmployeeInfo{EmployeeID=4,EmployeeName="李四",Salary=1500,City="天津"});
  8. employeeList.Add(newEmployeeInfo{EmployeeID=5,EmployeeName="王五",Salary=2000,City="上海"});
  9. employeeList.Add(newEmployeeInfo{EmployeeID=6,EmployeeName="赵六",Salary=-800,City="北京"});
  10. employeeList.Add(newEmployeeInfo{EmployeeID=7,EmployeeName="尤七",Salary=2100,City="武汉"});
  11. employeeList.Add(newEmployeeInfo{EmployeeID=8,EmployeeName="马八",Salary=2300,City="海口"});
  12. employeeList.Add(newEmployeeInfo{EmployeeID=9,EmployeeName="许九",Salary=2300,City="海口"});
  13. employeeList.Add(newEmployeeInfo{EmployeeID=10,EmployeeName="代十",Salary=2300,City="海口"});
  14. returnemployeeList;
  15. }
  16. publicclassEmployeeInfo
  17. {
  18. publicintEmployeeID{set;get;}
  19. publicstringEmployeeName{set;get;}
  20. publicintSalary{set;get;}
  21. publicint[]Cost{get;set;}
  22. publicstringCity{set;get;}
  23. }

接下来就是如何实现分页,以及相关控件的数据绑定了,代码位于MyDataPager.xaml.cs(详见注释):

 
 
 
 
  1. usingSystem.Windows.Data;
  2. publicMyDataPager()
  3. {
  4. InitializeComponent();
  5. PagedCollectionViewpcv=newPagedCollectionView(GetEmployeeList());
  6. pcv.PageSize=3;//一页显示三条记录
  7. //列表控件数据源绑定
  8. MyDataGrid.DataContext=pcv;
  9. MyListBox.DataContext=pcv;
  10. //分页控件数据源绑定
  11. FirstLastNumeric.DataContext=pcv;
  12. FirstLastPreviousNext.DataContext=pcv;
  13. FirstLastPreviousNextNumeric.DataContext=pcv;
  14. Numeric.DataContext=pcv;
  15. PreviousNext.DataContext=pcv;
  16. PreviousNextNumeric.DataContext=pcv;
  17. }

是不是很好用,呵呵。当然该控件还提供了NumericButtonCount属性用于控制页码的数量,这在上面的XAML控件声明时已使用,大家可以修改测试一下效果。

好的,今天的如何使用Silverlight的DataPager数据分页控件就先到这里了。

文章标题:如何使用Silverlight的DataPager数据分页控件
转载来源:http://www.shufengxianlan.com/qtweb/news9/413809.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联