• 每日学习心得: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)
    

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

  • 相关阅读:
    php 格利高里函数转化成时间戳
    图片转化成文件流
    下载文件(execl,img 等)
    项目开发流程
    大数据可以采用子查询
    文件上传接口
    多文件ajax 上传
    swoole 安装和简单实用
    jquery 滑动加载
    php实现分享到朋友圈,QQ,微博
  • 原文地址:https://www.cnblogs.com/Olive116/p/4117660.html
Copyright © 2020-2023  润新知