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

  • 相关阅读:
    LeetCode My Solution: Minimum Depth of Binary Tree
    Managing Data in Containers
    ZooKeeper系列(四)
    ZooKeeper系列(三)
    ZooKeeper系列(二)
    Zookeeper系列(一)
    (转)淘淘商城系列——dubbo监控中心
    (转)淘淘商城系列——MyBatis分页插件(PageHelper)的使用以及商品列表展示
    (转)淘淘商城系列——展示后台管理页面
    (转)淘淘商城系列——服务调用测试
  • 原文地址:https://www.cnblogs.com/LeimOO/p/2193175.html
Copyright © 2011-2022 走看看