想建一个Web Part,用于对Document Libary 进行分页控制

DJ2008 2009-08-13 12:14:52
如题,希望能用自己的 Web Part 来控制当前页中的 Document library 的分页处理,如前一页,下一页,第N页,等

不知有没有人处理过,如何解决,谢谢。
...全文
191 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cshadow 2010-02-01
  • 打赏
  • 举报
回复
顶楼上
Michael193 2010-01-30
  • 打赏
  • 举报
回复
关于这个问题,SharePoint自己的分页是使用SPQuery这个类对数据进行分页的, 在SharePoint想要分页的页面中它的Url类似于这样"/AllItems.aspx?Paged=TRUE&p_Occurred=20100118%2002%3a59%3a08&p_ID=30&PageFirstRow=31&&View={5ED8E8A2-9D52-4C7E-AD4E-CD9A852F72CE}"; 其中"AllItems.aspx?"是页面信息, 后面的是SPQuery的一个参数, 应该是SPQuery对象的ListItemCollectionPosition这个属性, 楼主可以首先写一个WebPart对List中的数据进行读取,在分页的时候使用SPQuery对象直接提取所需要的数据就可以了;
另外SharePoint自己的分页做的并不是很好, (也可能是考虑到页面继承性的问题) 因为它每次分页的时候都要刷页面, 这点从它分页时的Url中就可以看出来, 其实完全可以使用回调, 不刷页面完成分页;
  • 打赏
  • 举报
回复
可以自己开发一个Template实现ITemplate接口,然后使用SPGridView,指定这个SPGridView的PageTemplate为你自己实现的Template,实现你要的分页功能。
zhangjun 2010-01-04
  • 打赏
  • 举报
回复
spgridview+AspNetPager控件可以做到。
DJ2008 2009-12-08
  • 打赏
  • 举报
回复
不好意思,上面的答案仍不是我需要的

因我是想直接由按钮控制 Document Library 中的分页,而不是用新的GridView 等控件来显示分页内容
yuanyuyuyu 2009-09-09
  • 打赏
  • 举报
回复
建议用SPGRIDview,里面有参数设置分页
jeremyxuzz 2009-09-08
  • 打赏
  • 举报
回复
我之前倒是做过SPList分页,以及读取某个人在站点中的所有权限进行分页。
使用了两种方法:
1、将SPList所有数据读出来,再分页,具体上一页、下一页什么的,可用分页控件,如:
http://www.cnblogs.com/mcjeremy里提到的一个控件。
2、就是使用楼上所说的SPGridView

------
这些方法都可以实现分页,但是缺点也相当明显:如果数据量大的话,会响应相当慢或导致超时错误。
------
MOSS的SPQuery和SPListItemCollection有一个ListItemCollectionPosition的属性用于标识当前页信息,估计MOSS自己的分页就是依据它来完成的。但我在自己做的时候,还是没做出来:
do
{
Console.WriteLine("第{0}页\t", i);
try
{
Console.WriteLine(query.ListItemCollectionPosition.PagingInfo);
}
catch { }
SPListItemCollection items = list.GetItems(query);
query.ListItemCollectionPosition = items.ListItemCollectionPosition;

i++;
} while (query.ListItemCollectionPosition!=null);
kyoxiaomao 2009-09-08
  • 打赏
  • 举报
回复
不是有直接的 分页功能么?
DJ2008 2009-08-18
  • 打赏
  • 举报
回复
谢谢ilwm1984 的关注,此问题已在查方法了过一个月了,但仍没办法,已暂时放弃了准备的项目

继续找方案
guozi612 2009-08-18
  • 打赏
  • 举报
回复
不行的话用Gridview啊,有个SPGridview,试试看
jeremyxuzz 2009-08-14
  • 打赏
  • 举报
回复
非常关注这个问题。
我也试过列表内容项的分页,但是,SP的OM(对象模型)中对分页没有很好的支持。
虽然有个叫SPListItemCollecitonPosition(好像是这个名字)。
---
如果楼主找到实现的方法了,不妨也告知一下:ilwm1984@163.com
非常的感谢。
DJ2008 2009-08-13
  • 打赏
  • 举报
回复
谢谢 Hugo 的回复,看来是专业人士。

对URL的参数控制,我曾考虑过,但其中的参数有些很难明白是什么意思,及不确认如何取得;

另对你提到的OM 是指的什么意思,如何处理,谢谢。

不知有没有类似的例子或说明,谢谢。
HugoWong 2009-08-13
  • 打赏
  • 举报
回复
方法有多种,
1,通过改变URL传参数;
2,采用SHAREPOINT 的OM 直接把Document library的文件LOAD到你自己的WEBPART再控制分页。

3,242

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 SharePoint
社区管理员
  • SharePoint社区
  • 霖雨
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧