SPSite site=new SPSite(SPContext.Current.Web.Url);
SPWeb web=site.OpenWeb();
SPList splist=web.Lists["项目记录"];
SPQuery query = new SPQuery();
SPQuery queryDefault = new SPQuery();
SPQuery queryFilesOnly = new SPQuery();
SPQuery queryRecursive = new SPQuery();
SPQuery queryRecursiveAll = new SPQuery();
queryDefault.ViewAttributes = "Scope='Default'";
queryFilesOnly.ViewAttributes = "Scope='FilesOnly'";
queryRecursive.ViewAttributes = "Scope='Recursive'";
queryRecursiveAll.ViewAttributes = "Scope='RecursiveAll'";
// query.Query = "<Where><Eq><FieldRef Name='" + splist.Fields["项目名称"].InternalName + "'/><Value Type='Text'>" + this.DropDownList1.SelectedValue + "</Value></Eq></Where>";
//query.RowLimit = 1;
int i = 1; SPListItemCollection listItems = splist.GetItems(query);
SPListItemCollection listItemsDefault = splist.GetItems(queryDefault);
SPListItemCollection listItemsFilesOnly = splist.GetItems(queryFilesOnly);
SPListItemCollection listItemsRecursive = splist.GetItems(queryRecursive);
SPListItemCollection listItemsRecursiveAll = splist.GetItems(queryRecursiveAll);

sharepoint列表为【项目记录】

此列表既包括文件夹又包括列表项,目录结构如下:

【项目记录】下面包括3个东西:

其中【2013】和【2012】为文件夹,【1】为列表记录

2013下面包括如下内容:

5个文件夹,这些文件夹下都无内容

2012下面包括如下内容:

2012下面就只有【01】文件夹,

【01】文件夹下面内容如下:

都是列表项,14项。

那么总的文件夹数目:【2013】+【201301】+【201303】+【201304】+【201305】+【201312】+【2012】+[201201]=8项

总的列表纯记录数:15项。

从程序调试结果可以看到:

  queryDefault.ViewAttributes = "Scope='Default'";这个取出的范围为和没有赋值取出的范围一样的,3跳记录,都只是取出第1层的记录数,包括文件夹和列表记录
queryFilesOnly.ViewAttributes = "Scope='FilesOnly'";这个取出的范围为第一层的列表记录数,为1条记录
queryRecursive.ViewAttributes = "Scope='Recursive'";这个取出的范围是递归寻找所有层的纯列表记录数,为第一层的1+文件夹【201201】下的14条记录,合计为15条记录。
queryRecursiveAll.ViewAttributes = "Scope='RecursiveAll'";这个是递归取出所有的文件夹和文件夹纯列表,合计为23条记录。

没有只是取出文件夹列表的属性设置吗,要是有就更好。

SPQuery ViewAttributes Sharepoint列表查询范围的更多相关文章

  1. SHAREPOINT - CAML列表查询

    首先要了解的是CAML(Collaboration Application Markup Language)不仅仅是用在对列表.文档库的查询,字段的定义,站点定义等处处使用的都是CAML. 简单的提一 ...

  2. SharePoint中跨列表查询

    1,最近的项目中遇到一个需求,站点中有几十个列表,其中每5,6个列表属于一个模块下的.客户的需求是,首页上显示一个模块下所有列表数据的前5条,并按创建时间排序. 2,刚刚考虑到这块的实现方法时,用的是 ...

  3. [总结]SHAREPOINT - CAML列表查询(上)

    首先要了解的是CAML(Collaboration Application Markup Language)不仅仅是用在对列表.文档库的查询,字段的定义,站点定义等处处使用的都是CAML. 简单的提一 ...

  4. 【SharePoint学习笔记】第3章 SharePoint列表新特性以及数据访问

    第3章 SharePoint列表新特性以及数据访问   使用CAML查询语言     CAML:协作应用程序标记语言 Collaboration Application Markup Language ...

  5. SharePoint REST API - 同步SharePoint列表项

    博客地址:http://blog.csdn.net/FoxDave 本篇只讲REST服务中的GetListItemChangesSinceToken这个东西.何谓同步呢,你也可以理解为增量变化,即 ...

  6. sharepoint列表如何进行随机取几条记录?

    sharepoint列表如何进行随机取记录?由于itemid是不连续.可能存在删除添加等操作导致 我们可以采用随机取第几条记录.把记录集合取出来.产生随机第几条数.这里关键是如何产生不重复的随机数 方 ...

  7. 利用SSIS进行SharePoint 列表数据的ETL

    好几年前写了一篇<SSIS利用Microsoft Connector for Oracle by Attunity组件进行ETL!>,IT技术真是日新月异,这种方式对于新的SQL SERV ...

  8. SharePoint 列表的导出导入

    有一群友问到关于 SharePoint 列表的导入与导出的问题,而最近也要做相关操作且好久没写博客了,所以记录下来,过程其实相当简单. 方法:将 列表 保存为 模板(可包含数据),下载模板文件,上传到 ...

  9. atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模

    )----列表查询建模 1. 配置条件字段@Conditional 1 2. 配置条件字段显示类型为range----@Conditional(displayType = displayType.ra ...

随机推荐

  1. 洛谷 P5280 - [ZJOI2019]线段树(线段树+dp,神仙题)

    题面传送门 神仙 ZJOI,不会做啊不会做/kk Sooke:"这八成是考场上最可做的题",由此可见 ZJOI 之毒瘤. 首先有一个非常显然的转化,就是题目中的"将线段树 ...

  2. Anaconda 安装与卸载

    Anaconda是一个免费开源的Python和R语言的发行版本,用于计算科学(数据科学.机器学习.大数据处理和预测分析),Anaconda致力于简化软件包管理系统和部署.Anaconda的包使用软件包 ...

  3. Python基础之流程控制for循环

    目录 1. 语法 2. for+break 3. for+continue 4. for循环嵌套 1. 语法 while循环可以对任何内容循环,但循环次数不可控 for循环基于容器类型的长度,循环次数 ...

  4. lxml解析库的安装和使用

    一.lxml的安装lxml是Python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高.本节中,我们了解一下lxml的安装方式,这主要从Windows.Linux ...

  5. Linux 软件安装位置选择指南

    Linux 软件安装   Linux 下安装软件不像 Windows 下安装这么简单,Windows 下会自动选择合适安装路径,而 Linux 下安装路径大部分完全由自己决定,我可以将软件安装到任意可 ...

  6. 构建LNMP+WordPress

    1. 安装LNMP环境 首先修改主机名 [root@samba ~]# hostnamectl set-hostname lnmp[root@lnmp lnmp1.6-full]# hostnamec ...

  7. (数据科学学习手札132)Python+Fabric实现远程服务器连接

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 日常工作中经常需要通过SSH连接到多台远程 ...

  8. 学习java 7.1

    学习内容:数组的定义格式:int[ ] arr;  int arr[ ]; 数组的动态初始化:int[ ] arr = new int[ ];静态初始化:int[ ] arr = new int[ ] ...

  9. ceph安装部署

    环境准备 测试环境是4台虚拟机,所有机器都是刚刚安装好系统(minimal),只配置完网卡和主机名的centos7.7,每个osd增加一块磁盘,/dev/sdb ceph-admin ---- adm ...

  10. win10产品密钥 win10永久激活密钥(可激活win10所有版本)

    https://www.win7w.com/win10jihuo/18178.html#download 很多人都在找2019最新win10永久激活码,其实win10激活码不管版本新旧都是通用的,也就 ...