zoukankan      html  css  js  c++  java
  • 学习: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

  • 相关阅读:
    ElasticSearch——Logstash输出到Elasticsearch配置
    ElasticSearch——分词
    Kafka——JVM调优
    HBase管理与监控——强制删除表
    HBase管理与监控——HBase region is not online
    HBase管理与监控——内存调优
    C#利用WMI获取 远程计算机硬盘数据
    防止SQL注入方法总结
    C# 将一个DataTable的结构直接复制到另一个DataTable
    C# 按位或,按位与, 按位异或
  • 原文地址:https://www.cnblogs.com/LeimOO/p/2193175.html
Copyright © 2011-2022 走看看