zoukankan      html  css  js  c++  java
  • 记 Silverlight DataGrid 服务端分页

        好久没记录了。

        最近在修改银光里面一个导航,使用DataGrid实现列表功能,之前使用到分页,其他人写的类似于自己写一个【上一页】【下一页】【跳转至】。。。。每个按钮单独写了事件,后台若干全局变量控制。现在要修改此处功能,加上一些类似跳转至【1】【2】【3】【4】【5】 等等之类似页码,开始弄时有点先入为主的概念,在之前的按钮上分别去写这些事件,结果越写越乱(代码写次了),其中有实现类似于点击【下一页】或者某个页面时,动态去改变页码的功能。一堆代码写完了以后,感觉头晕晕,这么写明显不应该啊。周末来加班,重新梳理下思路,决定此处应使用控件了,大概流程应该如下:

    1.确认查询条件后,取出数据总行数。

    2.分页取出数据记录。

    3.将数据总行数以List<int> 形式存放,将此集合实例化为对象PagedCollectionView 注: PagedCollectionView pcv = new PagedCollectionView(list);

    4.将此对象赋值给分页控件DataPager,这样分页控件将存放所有记录数,确认每一页记录数就可以确认当前控件的总页数 注:dataPager.Source = pcv;

    5.分页控件数据源绑定完成后,添加事件PageIndexChanged,当页码发生改变时触发,这里可以得到PageIndex的值,也就是当前页码

    6.在DataGrid中,我们可以分页取数据,以分页控件PageIndex值为条件,进行分页查询。这样做的好处显而易见,PagedCollectionView对象不必一次绑下大量的记录,只需要记下总记录就可以,DataGrid绑定数据时,可以分批次的去绑定。

    7.因为有需求,所以在最后给DataPager控件添加自定义样式,让它的外观满足需求。

  • 相关阅读:
    [BZOJ4825][HNOI2017]单旋(线段树+Splay)
    [BZOJ4542][HNOI2016]大数(莫队)
    [LOJ6281]数列分块入门 5
    [LOJ6280]数列分块入门 4
    [LOJ6279]数列分块入门 3
    [LOJ6278]数列分块入门 2
    [LOJ6277]数列分块入门 1
    [BZOJ2120]数颜色
    [BZOJ3585]mex
    [ZJb417]区间众数
  • 原文地址:https://www.cnblogs.com/allen76615519/p/4083379.html
Copyright © 2011-2022 走看看