每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容
前言:
这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望能够对大家有所帮助。
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 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容的更多相关文章
- 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询
前言: 前一段时间一直都比较忙,没有什么时间进行总结,刚好节前项目上线,同时趁着放假可以好好的对之前遇到的一些问题进行总结.主要内容有使用SharePoint服务端对象模型进行查询.为SharePoi ...
- 每日学习心得:找不到类型{0},它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素...中提供,cellspacing、rowspacing属性
2013-7-6 1. 找不到类型“WCFService.Service1”,它在 ServiceHost 指令中提供为 Service 特性值,或在配置元素 syste ...
- 每日学习心得:CustomValidator验证控件验证用户输入的字符长度、Linq 多字段分组统计、ASP.NET后台弹出confirm对话框,然后点击确定,执行一段代码
2013-9-15 1. CustomValidator验证控件验证用户输入的字符长度 在实际的开发中通常会遇到验证用户输入的字符长度的问题,通常的情况下,可以写一个js的脚本或者函数,在ASP ...
- 每日学习心得:Linq解决DataTable按照某一列的值排序问题/DataTable 导出CSV文件/巧用text-overflow解决数据绑定列数据展示过长问题
2013-8-5 1 Linq解决DataTable按照某一列的值排序 在之前的总结中提到过对拼接而成的复合的DataTable按照某一列值的大小排序,那个主要的思想是在新建表结构时将要排序的那一列的 ...
- 每日学习心得:$.extend()方法和(function($){...})(jQuery)详解
2014-02-09 前言: 节后头两天上班,主要是调整工作状态.项目也不是很紧,趁着周末把年前遇到了一些关于JS和JQuery的一些问题给总结一下.主要是介绍JQuery的extend方法和(fun ...
- sharepoint 2013创建外部内容类型并创建外部列表
步骤: 1.如何:基于 SQL Server 表创建外部内容类型 How to: Create an External Content Type Based on a SQL Server Table ...
- SharePoint 2013 Workflow Manager 1.0 远程服务器返回错误: (400) 错误的请求。 不支持查询字符串中的 api-version
环境: Windows Server 2012 R2 Standard SharePoint Server 2013 with sp1 通过Web 平台安装程序 5.0,已安装 Workflow Ma ...
- 每日学习心得:Js基本数据类型常用方法扩展
2014-02-17 前言: 节后的第一周上班,整个状态调整的还不错,已完全进入正常的工作状态.这一周主要还是对年前项目存在的一些问题进行完善.修整,基本上没有做大的改动.这里就把项目中经常用到的一些 ...
- 每日学习心得:UEditor样式被过滤无法显示问题
前言: 上周开发中有用到开源的富文本编辑器UEditor,在使用的过程中遇到了样式被过滤无法显示问题,经过一番折腾终解决,此外,还有一些关于获取前台界面元素的一些总结. 1. UEditor样式被过滤 ...
随机推荐
- 【xsy1230】树
题意 \(N\)个点的树,边有边权.给\(M\)个询问,每个询问包含3个参数\(l,r,pos\),求标号在\(l\)到\(r\)中的所有点中,离节点pos最近的点到pos的距离. 分析:动态点分治+ ...
- Linux 下 git连接github的使用
1.安装git sudo apt-get install git 2.创建github帐号 3.Linux创建SSH密钥: ssh-keygen //一直默认 4.将公钥加入到Github账户信息A ...
- SQL Server 用户名密码查看
因为SQL Server是默认使用Windows身份验证的,很多时间就会慢慢忘记掉原来设置的密码,那么怎么重新设置用户名密码呢 这里以SQL Server2013为例,先以windows身份验证登陆进 ...
- 媒体查询判断ipad与iPhone各版本i
/* 判断ipad */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px){ /* s ...
- linux ps 命令
ps命令是用来查看系统运行的进程 -A 显示所有进程(等价于-e)(utility) -a 显示一个终端的所有进程,除了会话引线 -N 忽略选择. -d 显示所有进程,但省略所有的会话引线(utili ...
- iOS开发拓展篇—xib中关于拖拽手势的潜在错误
iOS开发拓展篇—xib中关于拖拽手势的潜在错误 一.错误说明 自定义一个用来封装工具条的类 搭建xib,并添加一个拖拽的手势. 主控制器的代码:加载工具条 封装工具条以及手势拖拽的监听事件 此时运行 ...
- 关于win2008r2上配置iis,出现加密代码与联邦基础加密冲突的问题的解决
在win2008r2上配置asp.net网站时,出现这个问题: This implementation is not part of the Windows Platform FIPS validat ...
- Objective-C 与 C++ 的异同
stackflow 上有同学提问"C++ 与 Objective-C 有什么异同?"楼下的提供的两个资料挺不错的. 其一是: Pierre Chatelier 写的 <Fro ...
- Hinet 日本数据处理流程
---恢复内容开始--- 推荐网站: http://ju.outofmemory.cn/entry/138571 ridnet.py 将Hinet 的cnt 数据提取为sac数据,参考网站 http: ...
- [Java Basics] Collection
除了Java collection class/interface外,方便的有Google guava的utility class: Lists/Sets/Maps/Queues, 用它们可以方便地创 ...