zoukankan      html  css  js  c++  java
  • SharePoint 2010 获取列表中所有数据(包括文件夹内)的方法

    转: http://blog.csdn.net/wangwenism/article/details/8751411

    SharePoint的列表能存储文件以及文件夹,用户使用的时候,经常会建几个分类文件夹,然后分别存放不同类型的文件,以方便查阅管理。

    当文件夹以及文件越来越多的时候,用户就会有搜索特定文档的要求,用户通常都不希望去每个文件夹分别查询,所以我们必须设计一个单独的查询模块去获取列表中包括每个文件夹里的所有数据。

    用sharepoint自带的搜索是一种解决方案,也可以利用SharePoint对象模型对整个列表进行查询。

    以下介绍2种查询方法。

    1. 如果是用SPDateSource查询的话,SPDateSource默认的数据查询范围是Default,即显示列表当前目录下的所有文件以及文件夹,并不包括文件夹里的文件,这个查询范围是个名为SPViewScope的枚举类型,详细解释如下图:

      Member name Description
      Default Show only the files and subfolders of a specific folder.
      Recursive Show all files of all folders.
      RecursiveAll Show all files and all subfolders of all folders.
      FilesOnly Show only the files of a specific folder.

    所以我们可以将范围值定义成Recursive 或 RecursiveAll 即可。如下:

    1. SPDataSource ds = currentListViewWebPart.DataSource as SPDataSource;  
    2. ...  
    3. ds.Scope = SPViewScope.Recursive;  


    2. 如果是用SPQuery查询的话,有个ViewAttributes属性可以设置范围,范围的默认值也是Default,枚举值和上面的相同,代码写法如下:

    1. private SPListItemCollection GetItems(SPList list)  
    2.         {  
    3.             SPQuery query = new SPQuery();  
    4.             query.ViewAttributes = "Scope="RecursiveAll"";  
    5.             SPListItemCollection itemCollection = list.GetItems(query);  
    6.             return itemCollection;  
    7.         }  


    如果想指定单独的文件夹进行查询,SPQuery有个folder属性,指定特定的文件夹名就可以了。

  • 相关阅读:
    为什么qt成为c++界面编程的第一选择 老夏课堂
    升级 package.json 内所有包的版本号
    小米 pro 双硬盘设置引导盘
    react 疑问集锦
    jmeter 基础使用
    vmware ubuntu 看不到网卡或连接不到网络
    如何在 Windows 11 使用旧的(或完整的)右键菜单
    hbuilder x 连接夜神模拟器
    当初为什么报 软件工程 这个专业?
    sparky 一个趋势图的JavaScript插件
  • 原文地址:https://www.cnblogs.com/jackljf/p/3588850.html
Copyright © 2011-2022 走看看