• 学习:Dynamically Creating Sharepoint Content Type (转)


     

    In a scenario where you need to create Content Type in bunch, there comes the role of Dynamic Content types.

     

     

    The following code snippet helps you in creating content type dynamically.

     

     

    Code:

     

    using System;

    using Microsoft.SharePoint;

    namespace DynamicContentTypeConsole

    {

        class Program

        {

            static void Main(string[] args)

            {

                string siteURL = "URL of Site";

                using (SPSite objSPSite = new SPSite(siteURL))

                {

     

                    using (SPWeb objSPWeb = objSPSite.OpenWeb())

                    {

                        SPContentType objSPContentType = new SPContentType(

                           objSPWeb.AvailableContentTypes["ParentContentType"], objSPWeb.ContentTypes, "Dynamic Content Type");

     

                        // A Required Field

                        // Create Site Column

                        objSPWeb.Fields.Add("Dynamic Number Column", SPFieldType.Number, true);

     

                        SPFieldLink objSPFieldLink1 = new SPFieldLink(objSPWeb.Fields["Dynamic Number Column"]);

                        objSPContentType.FieldLinks.Add(objSPFieldLink1);

     

                        // A required String Field

                        // Create Site Column

                        objSPWeb.Fields.Add("Dynamic String Column", SPFieldType.Text, true);

     

                        SPFieldLink objSPFieldLink2 = new SPFieldLink(objSPWeb.Fields["Dynamic String Column"]);

     

                        objSPContentType.FieldLinks.Add(objSPFieldLink2);

     

                        //A non-required Choice Field

                        // Create Site Column

                        objSPWeb.Fields.Add("Dynamic Choice Column", SPFieldType.Choice, false);

     

                        SPFieldChoice choicefield = (SPFieldChoice)objSPWeb.Fields["Dynamic Choice Column"];

     

                        // Add a group to the filed

                        choicefield.Group = "Dynamic Group";

     

                        // Add choices

                        choicefield.Choices.Add(string.Empty);

                        choicefield.Choices.Add("Yes");

                        choicefield.Choices.Add("No");

     

                        // Set the default choice

                        choicefield.DefaultValue = string.Empty;

                        choicefield.Update();

     

                        SPFieldLink objSPFieldLink3 = new SPFieldLink(choicefield);

                        objSPContentType.FieldLinks.Add(objSPFieldLink3);

     

                        objSPWeb.Fields.AddLookup("Dynamic Lookup Column", new Guid("GUIDofRemoteList"), false);

     

                        SPFieldLookup lookupfield = (SPFieldLookup)objSPWeb.Fields["Dynamic Lookup Column"];

     

                        // Set the remote field

                        lookupfield.LookupField = "RemoteFieldName";

                        lookupfield.Update();

                        SPFieldLink objSPFieldLink4 = new SPFieldLink(lookupfield);

                        objSPContentType.FieldLinks.Add(objSPFieldLink4);

     

                        objSPWeb.ContentTypes.Add(objSPContentType);

                        objSPContentType.Update();

                    }

                }

            }

        }

    }

     

     

     

    The code snippet is the Console Application, and is ready to use.

     

    Come from: http://www.directsharepoint.com/2011/04/dynamically-creating-sharepoint-content.html

  • 相关阅读:
    2017加油
    配置SSH框架的心得
    .net 中select和where的区别
    oracle查询中文数据出现乱码
    three.js 加载 obj模型
    下载别人的3D模型文件
    关闭按钮
    桌面截屏保存成gif形式(软件)
    vue 中引入 three.js
    three.js-地球贴图-TextureLoader
  • 原文地址:https://www.cnblogs.com/LeimOO/p/2193175.html
Copyright © 2020-2023  润新知