前言:

这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望能够对大家有所帮助。

1.   在列表中为列表项添加子项

为列表添加子项大家都很熟悉,但是如何为列表项添加子项呢?例如列表项是一个文件夹,如何为该文件夹添加子项呢?这里就用到了List.AddItem()方法,具体示例如下:

首先我们要获取列表中的子项:

SPListItem root_item=list.GetItemById(id);

其次为该列表项添加子项:

SPListItem sub_item=list.AddItem(root_item.Folder.ServerRelativeUrl, SPFileSystemObjectType.File)

AddItem方法有三个重载,这里用到的是添加子项,其中第一个参数表示文件夹路径,也就是添加子项所在的位置,第二个参数是文件系统对象的类型,这里的类型是文件。

如果想要在子项中添加文件夹子项,则需要使用additem的另一种重载,示例如下:

SPListItem item_folder = list.AddItem(item.Folder.ServerRelativeUrl, SPFileSystemObjectType.Folder, "folder_Name");

这里有三个参数,前两个参数代表的含义跟上边的重载函数的含义是一样的,不过这里的文件系统对象的类型是Folder,也就是文件夹,同时这里的第三个参数就是新建的文件夹的名字。

最后需要特别注意的是,list.addItem()方法需要跟item.update()方法结合使用这样才能使该项添加到里边中去,所以最后都要调用item.Update()方法。

Item.Update();

2.   添加指定内容类型的列表项

在实际的开发中,有些列表或者库会有多个内容类型,在表单上添加新项时,只需要选择要添加的内容类型即可,但是如何在代码中添加新项,并且为其指定特定的内容类型呢?示例如下:

SPListItem temp_item = list.AddItem(item.Folder.ServerRelativeUrl, SPFileSystemObjectType.File);
temp_item["Title"] = "哈哈";
temp_item["ContentTypeId"] = list.ContentTypes["ConteneType_Name"].Id;
temp_item.Update();

  

可以从示例中看出,只需要为新增的Item项指定一个“ContentTypeId”即可,指定的ContentType可以通过list.ContentTypes[“contenttype_name”]来获得。这样就可以为新增的Item项指定特定的内容类型。

3.   查询列表中文件夹下的数据

通过CAML语言我们可以很轻松的查询列表下的数据,但是如果要查询指定文件夹下的数据该如何查询呢?示例如下:

SPList item=list.GetItemById(id);
SPFolder folder = item.Folder;
phaseType = item["PhaseType"] + "";
SPQuery sub_query = new SPQuery();
sub_query.Folder = folder;
sub_query.Query = @"<Where><Neq><FieldRef Name='Title'/><Value Type='Text'>1232</Value></Neq></Where><OrderBy><FieldRef Name='PhaseIndex' Ascending='False' /></OrderBy>";
SPListCollection items=list.getItems(sub_query)

  这里总结的都是工作中遇到的一些小的知识点,其实也不难只是有些东西用的比较少,查找起来也比较麻烦,一一总结出来,希望给遇到类似问题的朋友一些帮助。

每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容的更多相关文章

  1. 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询

    前言: 前一段时间一直都比较忙,没有什么时间进行总结,刚好节前项目上线,同时趁着放假可以好好的对之前遇到的一些问题进行总结.主要内容有使用SharePoint服务端对象模型进行查询.为SharePoi ...

  2. 每日学习心得:找不到类型{0},它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素...中提供,cellspacing、rowspacing属性

    2013-7-6 1.                找不到类型“WCFService.Service1”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 syste ...

  3. 每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码

    2013-9-15 1.    CustomValidator验证控件验证用户输入的字符长度 在实际的开发中通常会遇到验证用户输入的字符长度的问题,通常的情况下,可以写一个js的脚本或者函数,在ASP ...

  4. 每日学习心得:Linq解决DataTable按照某一列的值排序问题/DataTable 导出CSV文件/巧用text-overflow解决数据绑定列数据展示过长问题

    2013-8-5 1 Linq解决DataTable按照某一列的值排序 在之前的总结中提到过对拼接而成的复合的DataTable按照某一列值的大小排序,那个主要的思想是在新建表结构时将要排序的那一列的 ...

  5. 每日学习心得:$.extend()方法和(function($){...})(jQuery)详解

    2014-02-09 前言: 节后头两天上班,主要是调整工作状态.项目也不是很紧,趁着周末把年前遇到了一些关于JS和JQuery的一些问题给总结一下.主要是介绍JQuery的extend方法和(fun ...

  6. sharepoint 2013创建外部内容类型并创建外部列表

    步骤: 1.如何:基于 SQL Server 表创建外部内容类型 How to: Create an External Content Type Based on a SQL Server Table ...

  7. SharePoint 2013 Workflow Manager 1.0 远程服务器返回错误: (400) 错误的请求。 不支持查询字符串中的 api-version

    环境: Windows Server 2012 R2 Standard SharePoint Server 2013 with sp1 通过Web 平台安装程序 5.0,已安装 Workflow Ma ...

  8. 每日学习心得:Js基本数据类型常用方法扩展

    2014-02-17 前言: 节后的第一周上班,整个状态调整的还不错,已完全进入正常的工作状态.这一周主要还是对年前项目存在的一些问题进行完善.修整,基本上没有做大的改动.这里就把项目中经常用到的一些 ...

  9. 每日学习心得:UEditor样式被过滤无法显示问题

    前言: 上周开发中有用到开源的富文本编辑器UEditor,在使用的过程中遇到了样式被过滤无法显示问题,经过一番折腾终解决,此外,还有一些关于获取前台界面元素的一些总结. 1. UEditor样式被过滤 ...

随机推荐

  1. Python之路 day2 购物车小程序1

    #Author:ersa ''' 程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时 ...

  2. Python学习笔记只列表和元组

    一.成员资格 1.检查某个字符是否在某个字符串中:'a' in 'absent' 2.获取数组的长度.最大.最小值: numbers=[100,54,345] len(numbers) //长度 ma ...

  3. zoj 1789 The Suspects

    好高兴,又AC一道 ,不过是很类似的两道..还是好高兴呀思想跟2833是一样的,不过要重新设计输入和输出.老师上课又重新讲解了一下,因为嫌疑人已知是0,所以加入集中时应该默认让数值小的做树根,即最终让 ...

  4. 关于extra加强延迟加载

    一对多和多对多关联的查询策略 lazy属性的另一个属性extra 加强延迟加载 表明采用增强延迟加载策略:在<set>元素配置lazy属性为"extra".增强延迟加载 ...

  5. CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chrome、Opera

    CSS Hack大全-教你如何区分出IE6-IE10.FireFox.Chrome.Opera 转载自:http://www.jb51.net/article/50116.htm 现在的浏览器IE6- ...

  6. Android Studio 查看密钥库证书指纹SHA1

    打开DOC命令窗体

  7. PHP 每天的总结(1)

    今天写博客的心情比以往还要糟糕,因为........................(完结). 1.获取某输入框的值,有两中获取方式,GET和POST .前者  没有为顾客的账户安全着想.而后者返之: ...

  8. iOS iPad开发之UIPopoverController的使用

    1. 什么是UIPopoverController? 是iPad开发中常见的一种控制器(在iphone上不允许使用) 跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIViewCon ...

  9. Java中的数组

    1,可以创建自己的类的数组,但是自己的类必须实现get()和put函数 2,声明数组:int[] arrayOfInt.注意,定义数组时不可以指定大小 3,创建与初始化:通过new.arrayOfIn ...

  10. html a 链接标签title属性换行鼠标悬停提示内容的换行效果

    鼠标经过悬停于对象时提示内容(title属性内容)换行排版方法,html title 换行方法总结. html的title属性默认是显示一行的.如何换行呢? 这里DIVCSS5总结介绍两种换行方法为大 ...