首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

关于datapage的一点疑问解决方案

2012-03-08 
关于datapage的一点疑问DataPager实现分页需要传入一个PagedCollectionView才行,一般分面控件只要传入总记

关于datapage的一点疑问
DataPager实现分页需要传入一个PagedCollectionView才行,一般分面控件只要传入总记录数和分页大小就可以了,所以,我们一般给Datapager增加一个扩展方法来绑定总记录数和分页大小

C# code
public static class DataPageExtension    {        public static void BindSource(this DataPager dataPager, int totalCount, int pageSize)        {            List<int> list = new List<int>(totalCount);            for (int i = 0; i < totalCount; i++) list.Add(i);            PagedCollectionView pcv = new PagedCollectionView(list);//这里为什么要传入一个LIST的呢,而不是像              //pcv.PageSize = pageSize一样,直接将记录总数赋值给PagedCollectionView呢?              //new PagedCollectionView(这里面传的参数类型是System.Collections.IEnumberable);为什么要用枚举呢?              //搞不明白DataPager分页机制是怎样的呢?            pcv.PageSize = pageSize;            dataPager.Source = pcv;        }    }

小弟对这段代码有些疑问,请各位大哥指点迷津,谢谢!~~


[解决办法]
我的理解:
Datapager 是将整个要分页的集合加载到Datapager对象当中取,Datapager的操作对象不是DataGrid分页后的子集,而是整个集合.
[解决办法]
这个只是设计了个DataGrider的分页数据项,和实际的不一致的!实际的数据不可能只是个 Int 来做数据显示的。实际的数据也许只有一页。
[解决办法]
1.这里为什么要传入一个LIST的呢,而不是像pcv.PageSize = pageSize一样,直接将记录总数赋值给PagedCollectionView呢?
2.new PagedCollectionView(这里面传的参数类型是System.Collections.IEnumberable);为什么要用枚举呢?
3.搞不明白DataPager分页机制是怎样的呢?
答:PagedCollectionView 可为实现 IEnumerable 接口的任何集合提供分组、排序、筛选和分页功能。DataPager 控件提供一个方便的用户界面,用于使用 PagedCollectionView 控制分页。
Silverlight中首先使用PagedCollectionView获取数据实体集。设置每页显示数据,把PagedCollectionView绑定到DataPager和DataGrid。在这里DataGrid的Source不能直接绑定数据实体集,而需要这个视图进行转换才行。

热点排行