1、GetItemsWithUniquePermissions根据返回数量和是否返回文件夹获取唯一权限的列表项集合

对于SharePoint对象模型中SPList的GetItemsWithUniquePermissions方法,主要功能是返回不从列表继承安全权限,但具有唯一权限的列表项集合。其中有一个是重载的方法,具有两个参数,定义如下:

view source

print?

public Collection<SPListItemInfo> GetItemsWithUniquePermissions(int maxItemToReturn, bool folderOnly);

此方法中的两种参数含义如下:

A)、maxItemToReturn是一个int类型的参数,表示返回具有唯一权限列表项集合的最大数量。

B)、folderOnly是一个布尔bool类型的参数,表示是否只返回具有唯一权限的文件夹类型的列表项。当folderOnly=true时表法只返回文件夹类型的列表项,而当folderOnly=false时列表项和文件夹都返回。

2、使用SPQuery对象获取SharePoint列表或库指定文件夹SPFolder下的项目

SharePoint列表或库是一些可以存储数据和文档的容器,默认是可以根目录下添加内容的。也就是只要创建了一个列表或库,添加的内容都是存储在根文件夹下的,默认列表是没有开启文件夹功能,而库是开启了文件夹功能。

view source

print?

/// <summary>  

 /// 获取指定文件夹下的所有列表项  

 /// </summary>  

 /// <param name="folder"></param>  

 /// <returns></returns>  

 protected SPListItemCollection GetItemsByFolder(string folder)  

 {  

     SPListItemCollection itemColl = null;  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists.TryGetList("DemoList");  

     SPQuery query = new SPQuery();  

     query.Folder = list.RootFolder.SubFolders[folder];  

     itemColl = list.GetItems(query);  

     return itemColl;  

 }

3、对象模型启用或禁用列表的文件夹功能

/// <summary>  

 /// 设置列表的文件夹功能  

 /// </summary>  

 protected void SetFolders()  

 {  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists.TryGetList("DemoList");  

     //开启文件夹功能  

     list.EnableFolderCreation = true;  

     list.Update();  

 }

4、使用RootFolder获取列表或库的根文件夹

 /// <summary>  

 /// 获取列表的根文件夹  

 /// </summary>  

 protected void GetListRootFolder()  

 {  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists.TryGetList("项目");  

     //RootFolder表示根文件夹  

     SPFolder rootFolder = list.RootFolder;  

     this.Label1.Text = "根文件夹是:" + rootFolder.Name;  

 } 

#RootFolder  #根文件夹  #列表  #库

5、获取列表的所有文件夹名称,包括各层次的所有子文件夹的名称

 /// <summary>  

 /// 获取列表的所有文件夹(不分层次)  

 /// </summary>  

 protected void GetListAllFolders()  

 {  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists["项目"];  

     //在列表中文件夹也看做列表项  

     SPListItemCollection fColl = list.Folders;  

     foreach (SPListItem item in fColl)  

     {  

         this.Label1.Text += item.Name + "<br/>";  

     }  

 }

6、对象模型获取SharePoint 2010指定文件夹下的所有子文件夹

 /// <summary>  

 /// 根据文件夹名称获取所有子文件夹  

 /// </summary>  

 protected void GetListSubFolders()  

 {  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists.TryGetList("项目");  

     //得到所有文件夹  

     SPListItemCollection fColl = list.Folders;  

     foreach (SPListItem item in fColl)  

     {  

         if (item.Name.Equals("2015年"))  

         {  

             //将SPListItem转换为SPFolder对象,此时SPListItem对象必须是通过Foldrs得到的。  

             SPFolder folder = item.Folder;  

             //获取所有子文件夹  

             SPFolderCollection subfColl = folder.SubFolders;  

             foreach (SPFolder f in subfColl)  

             {  

                 this.Label1.Text += f.Name + "<br/>"; ;  

             }  

         }  

     }  

 } 

#文件夹  #子文件夹  #Folders  #SubFolders

7、对象模型获取SharePoint 2010列表所有项目并忽略文件夹

 /// <summary>  

 /// 获取列表中所有的项目,包括文件夹内的项目  

 /// </summary>  

 protected void GetContainsFolderOfAllItem()  

 {  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists.TryGetList("项目");  

     //获取所有字段所有文件夹内的项目  

     SPListItemCollection itemColl1 = list.Items;  

     SPQuery query = new SPQuery();  

     //指定返回的字段  

     query.ViewFields = "<FieldRef Name='Title'/><FieldRef Name='Created'/>";  

     //忽略文件夹  

     query.ViewAttributes = "Scope=\"Recursive\"";  

     SPListItemCollection itemColl2 = list.GetItems(query);  

     this.gV.DataSource = itemColl2.GetDataTable();  

     this.gV.DataBind();  

 }

8、使用SPQuery对象查询所有列表项但不包括文件夹

 

if (!string.IsNullOrEmpty(listName))  

 {  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists[listName];  

     //获取列表的根文件夹  

     SPFolder rootFolder = list.RootFolder;  

     this.lbl.Text += "根文件夹为:" + rootFolder.Name + "<br/>";  

     //使用SPQuery得到列表项  

     SPQuery query = new SPQuery();  

     query.ViewAttributes = "Scope=\"Recursive\"";  

     SPListItemCollection queryFolderColl = list.GetItems(query);  

     foreach (SPListItem item in queryFolderColl)  

     {  

         this.lbl.Text += "Name:" + item.Name + ",DisplayName:" + item.DisplayName + "<br/><br/>";  

     }  

 } 

在SharePoint的列表中,有时候会将文件夹和列表项同时存在,但在使用对象模型操作时,总会用到SPQuery对象,此对象可以根据字段、查询条件返回一个结果集,但如果存在文件夹,则就要使用ViewAttributes属性来设置而忽略文件夹。

9、SharePoint 2010列表文件夹SPFolder的相关操作

if (item.Name.Equals("Task1"))  

 {  

     //将SPListItem转换为SPFolder对象,此时SPListItem对象必须是通过Foldrs得到的。  

     SPFolder f = item.Folder;  

     //获取所有的子文件夹  

     SPFolderCollection fColl = f.SubFolders;  

     foreach (SPFolder fx in fColl)  

     {  

         this.lbl.Text += "Task1的子文件夹有:" + fx.Name + "<br/><br/>";  

     }  

 } 

在SharePoint列表中,即可以创建列表项也可以创建文件夹,新创建的列表是不支持新建文件夹,要通过列表设置的“高级设置”页面配置使用列表支持文件夹的相关操作。在列表中,文件夹也可以被看作是列表项SPListItem,不过在做一些文件夹的特殊操作时,还必须将SPListItem转换为SPFolder对象。

10、获取列表根文件夹下的所有项目,文件夹内的项目除外

/// <summary>  

 /// 获取列表根文件夹下的项目,但不包括文件夹内的项目。  

 /// </summary>  

 protected void GetRootFolderAllItem()  

 {  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists["项目"];  

     //获取根文件夹  

     SPFolder rootFolder = list.RootFolder;  

     SPQuery query = new SPQuery();  

     query.Folder = rootFolder;  

     //获取所有的列表项,同时包括子文件夹内的列表项,但并不会获取文件夹。  

     SPListItemCollection itemColl = list.Items;  

     //获取根文件夹下的一级内容,包括文件夹。  

     //SharePoint的文件夹类型也是SPListItem。  

     SPListItemCollection rootItemColl = list.GetItems(query);  

     foreach (SPListItem item in rootItemColl)  

     {  

         //用来区分文件夹和列表项  

         if (!item.ContentType.Name.Equals("文件夹"))  

         {  

             this.Label1.Text += "名称:" + item.DisplayName + "<br/><br/>";  

         }  

     }  

 } 

#根文件夹  #列表  #项目  #文件夹

11、获取指定文件夹下的所有列表项,包括子文件夹内的项目

/// <summary>  

 /// 获取指定文件夹下的所有项目  

 /// </summary>  

 /// <param name="listName"></param>  

 protected void GetSpecifiedFolderAllItem(string listName)  

 {  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists[listName];  

     SPQuery query = new SPQuery();  

     //获取指定文件夹的SPFolder对象  

     query.Folder = list.RootFolder.SubFolders["Task1"];  

     //query.ViewAttributes = "Scope=\"Recursive\"";  

     SPListItemCollection itemColl = list.GetItems(query);  

     this.gV.DataSource = itemColl.GetDataTable();  

     this.gV.DataBind();  

 } 

#文件夹  #列表项  #项目  #子文件夹

12、获取SharePoint 2010文档库的文件夹及子文件夹

在SharePoint中,文档库是基于列表的特殊情况,也就说文档库其实也是列表,只不过它增加了一些对于文件的存储和操作。可以将获取的文档库列表SPList转换为SPDocumentLibrary。得到了SPDocumentLibrary对象之后,就可以执行与文件紧密相关的操作了。

SharePoint的文档库与列表都可以创建文件夹,默认情况列表的文件夹功能是禁用的,但文档库的文件夹功能是可以使用的。

#SPDocumentLibrary  #文档库  #文件夹  #子文件夹

13、在SharePoint列表的根文件夹下添加子文件夹

/// <summary>  

 /// 向列表根目录添加文件夹  

 /// </summary>  

 /// <param name="listName"></param>  

 protected void AddFolderToRoot(string listName)  

 {  

     SPWeb web = SPContext.Current.Web;  

     web.AllowUnsafeUpdates = true;  

     SPList list = web.Lists[listName];  

     //允许列表添加文件夹  

     list.EnableFolderCreation = true;  

     SPListItem item = list.Items.Add("", SPFileSystemObjectType.Folder, "Task5");  

     item.Update();  

     web.AllowUnsafeUpdates = false;  

 }

14、在列表中指定的文件夹下创建子文件夹

/// <summary>  

 /// 添加子文件夹到指定的文件夹下  

 /// </summary>  

 /// <param name="listName"></param>  

 protected void AddFolderToSpecifiedFolder(string listName)  

 {  

     SPWeb web = SPContext.Current.Web;  

     SPList list = web.Lists[listName];  

     web.AllowUnsafeUpdates = true;  

     list.EnableFolderCreation = true;  

     //将Task5001添加添加到Task5文件夹下  

     SPListItem item = list.Items.Add("/Lists/Tasks/Task5", SPFileSystemObjectType.Folder, " Task5001");  

     item.Update();  

 } 

#列表  #文件夹  #子文件夹  #Folder

15、在SharePoint 2010列表中删除指定的文件夹

使用页面方式删除SharePoint列表的文件夹跟删除列表项没有任何区别,而在使用对象模型删除文件夹要比删除列表项多出一种方法。这是因为列表对象SPList有一个Folders属性,通过此属性的GetItemById()方法可以得到文件夹项。而使用此方法是不能得到列表项的。

#列表  #文件夹  #SPFolder

16、更新SharePoint 2010列表的文件夹名称

SharePoint列表和库的文件夹既然能创建,则肯定也可以更新,文件夹使用页面更新非常的简单,只需要点击几下即可修改完成。但是要使用SharePoint对象模型更新文件夹,则首先要得到SPListItem对象,然后再将SPListItem转换为SPFolder对象,比创建文件夹要复杂一些。

在SharePoint中更新列表或库的文件夹名称时,必须保证使用SPList. Folders获取到SPListItem对象。

17、获取SharePoint网站下文件夹SPFolder对象的相关操作

在SharePoint的网站结构中,可以虚拟的看作是文件系统,可以创建文件夹及子文件夹,通过SharePoint Designer工具就可以看的一清二楚,但是也可以通过对象模型获取根文件夹及子文件夹的结构。SPWeb对象有一个Folders属性,可以获取此网站下所有一级文件夹的集合。

#网站  #文件夹  #SPFolder

18、使用PowerShell命令创建SharePoint 2010文档库及文件夹

# Add List  

 Function AddList($web,$listName,$listDescription,  

 $listTemplate){  

 DeleteList $web $listName 

 Write-host ".............Starting create " $listName ",please waiting............."  

 $web.Lists.Add($listName,$listDescription,$listTemplate)  

 Write-host ".............. " $listName " already is created......................." -foregroundcolor green  

 }

19、在文档库视图中设置通过文件夹查看还是一次查看所有项目

在SharePoint 2010文档库视图中,当此文档库有文件夹时,可以以两种方式显示文档库中的文档,一种是只显示文件夹,文件夹中再显示文档。另一种是不显示文件夹,而是把所有文件夹中的文档合并在一起显示在文档库中而不显示文件夹。

#文档库  #视图  #文件夹

20、开启或关闭SharePoint 2010列表的新建文件夹功能

SharePoint 2010的列表和库都是可以创建文件夹的,SharePoint 2010的文件夹功能跟Windows操作系统的文件夹功能基本上差不多,都是用来将不同的内容区分开来存储。

默认情况下,列表的文件夹功能是处于关闭状态的,但库的文件夹功能是处于开启状态的。

#文件夹

以上都是出自Sharepoint资源网上内容,感觉不错,借此收集起来供以后学习和使用。

Sharepoint中有关文件夹的操作的更多相关文章

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

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

  2. TFS 掩蔽或取消掩蔽工作区中的文件夹

    掩蔽或取消掩蔽工作区中的文件夹 使用掩蔽功能可以阻止用户查看指定的工作区文件夹或者您当前不需要的文件夹.当您在对一个公共父级下的两个或更多个分支中的文件进行操作时,就可以使用掩蔽功能来避免复制不必要的 ...

  3. 对Android项目中的文件夹进行解释

    对Android项目中的文件夹进行解释: · src:里面存放的是Activity程序,或者是以后的其他组件,在此文件夹之中建立类的时候一定要注意,包名称不能是一级. · gen:此文件夹中的内容是自 ...

  4. Win7-其中的文件夹或文件已在另一个程序中打开

    Win7-其中的文件夹或文件已在另一个程序中打开 如何解决Win7系统在删除或移动文件时提示,“操作无法完成,因为其中的文件夹或文件已在另一个程序中打开,请关闭该文件夹或文件,然后重试”.   步骤阅 ...

  5. Eclipse 中 Java 项目中 .settings 文件夹作用

    今天工作时,因对 .settings 文件夹误操作,耗时 6 个多小时,才了解到原因就出在 .settings 文件夹.经查阅资料,对 .settings 做如下整理: 就如setting这个名字,就 ...

  6. java io流 对文件夹的操作

    java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...

  7. Mac系统中各个文件夹简单介绍(转)

    一.说明: Mac OS X,这是一个基于UNIX核心的系统,增强了系统的稳定性.性能以及响应能力.它能通过对称多处理技术充分发挥双处理器的优势,提供无与伦比的2D.3D和多媒体图形性能以及广泛的字体 ...

  8. Android 5.1.1在外置SD卡中创建文件夹

    Android 4.4之后WRITE_MEDIA_STORAGE 权限仅提供给系统应用,不再授予第三方App,WRITE_EXTERNAL_STORAGE 权限,仅仅用于授权用户写 primary e ...

  9. python中对文件、文件夹的操作需要涉及到os模块和shutil模块。

    创建文件:1) os.mknod("test.txt") 创建空文件2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件 创建 ...

随机推荐

  1. iOS开发之Socket

    在IOS开发中,网络请求链接往往是HTTP请求,但是有些需求比较特殊,需要保持持续连接,就需要用到Socket了. 另外在游戏开发中,常常会用到Socket连接,因为http请求数据往往需要用户主动请 ...

  2. Gamma校正与线性空间

    基础知识部分 为了方便理解,首先会对(Luminance)的相关概念做一个简单介绍.如果已经了解就跳到后面吧. 我们用Radiant energy(辐射能量)来描述光照的能量,单位是焦耳(J),因为光 ...

  3. 使用CXF发布WebService

    这里普及一下WebService和cxf的知识.关于webservice和cxf:   WebService.各种提供服务的组件     .企业总线.通讯总线(ESB)CXF:是一个SOA框架,Axi ...

  4. 【转】 数据库系统——B+树索引

    原文来自于:http://blog.csdn.net/cjfeii/article/details/10858721 1. B+树索引概述 在上一篇文章中,我们讨论了关于index的几个中重要的课题: ...

  5. webService访问加密-Soapheader

    WebService head加密,可以对 WebService设置访问用户名和密码,增强 WebService的安全性 使 WebService只能被授权用户使用. 具体实现步骤: 1. 定义一个  ...

  6. C语言浮点数除法可以精确到多少位小数

    double型的两个数相除,得到的浮点数能精确到多少位呢..用我家电脑做了个实验,编译器是Code::Blocks 13.12. 然后用电脑自带的计算器算的结果和C语言算的结果比较如图. 第一例里a= ...

  7. UOJ#61. 【UR #5】怎样更有力气

    大力水手问禅师:“大师,很多事情都需要用很大力气才能完成,而我在吃了菠菜之后力气很大,于是就导致我现在非常依赖菠菜.我很讨厌我的现状,有没有办法少吃点菠菜甚至不吃菠菜却仍很有力气?” 禅师浅笑,答:“ ...

  8. gitlab和Django实现push自动更新

    1.设置webhook gitlab->setting->webhook:http://121.143.191.166:7000?token=23028-b396-12e5-9912-ba ...

  9. 搭建高性能计算环境(八)、应用软件的安装之gromacs

    1,下载安装新版本的gcc(高版本的gcc只是推荐使用的,系统自带的gcc4.4照样能正常编译.运行) wget http://ftp.tsukuba.wide.ad.jp/software/gcc/ ...

  10. Oracle 12c 数据库中scott用户不存在的解决方法

    -- 使用超级管理员登录CONN sys/change_on_install AS SYSDBA ;-- 创建c##scott用户CREATE USER c##scott IDENTIFIED BY ...