DocumentSetTemplate - Classe
Représente le modèle sur lequel sont basés les objets DocumentSet .
Hiérarchie d’héritage
System.Object
Microsoft.Office.DocumentManagement.DocumentSets.DocumentSetTemplate
Espace de noms : Microsoft.Office.DocumentManagement.DocumentSets
Assembly : Microsoft.Office.DocumentManagement (dans Microsoft.Office.DocumentManagement.dll)
Syntaxe
'Déclaration
Public Class DocumentSetTemplate
'Utilisation
Dim instance As DocumentSetTemplate
public class DocumentSetTemplate
Remarques
Il existe un modèle pour chaque type de contenu ensemble de documents et un modèle pour les autres types de contenu qui hérite de celle-ci. Les modèles décrivent les propriétés du type de contenu ensemble de documents. Ces propriétés comprennent les types de contenu autorisés à l'intérieur de l'ensemble de documents, les documents par défaut, ses champs partagés, les champs qui sont affichés dans sa page d'accueil et l'affichage à utiliser pour la page d'accueil.
Exemples
using System;
using Microsoft.SharePoint;
using Microsoft.Office.DocumentManagement.DocumentSets;
namespace SyncAllDocsetTemplates
{
class Program
{
static void Main(string[] args)
{
//Sets a field as shared and adds an allowed content type
//to all document set content types, the field that is now
//shared will be displayed on the welcome page
//and all of the default documents will be made to have the
//newly allowed content type
using (SPSite site = new SPSite("https://localhost")) //get the site
{
using (SPWeb web = site.RootWeb) //get the web
{
SPField field = web.Fields["ExistingField"];//get the new field
SPContentType contentType = web.ContentTypes["ExistingCT"];//get the new content type
foreach (SPContentType ct in web.ContentTypes)//iterate through all content types
{
if (DocumentSetTemplate.Id.IsParentOf(ct.Id) || ct.Id == DocumentSetTemplate.Id)//only take action if it's the base document set content type or one of its childs
{
//Get the document set template
DocumentSetTemplate docsetTemplate = DocumentSetTemplate.GetDocumentSetTemplate(ct);
//Add the new content type, make the field shared, and add it to the welcomepage
docsetTemplate.AllowedContentTypes.Add(contentType.Id);
docsetTemplate.SharedFields.Add(field);
docsetTemplate.WelcomePageFields.Add(field);
//Change the content type of all default documents to the new content type
foreach (DefaultDocument defDoc in docsetTemplate.DefaultDocuments)
{
docsetTemplate.DefaultDocuments.ChangeContentTypeForDocument(defDoc.Name, contentType.Id);
}
//Finally, save the changes
docsetTemplate.Update(false);
}
}
}
}
}
}
}
Cohérence de thread
Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.
Voir aussi
Référence
Microsoft.Office.DocumentManagement.DocumentSets - Espace de noms