SharePoint - программно установить «добавить ко всем типам контента» в false - PullRequest
0 голосов
/ 08 января 2019

При добавлении существующего столбца сайта в список SharePoint мы получаем возможность указать, нужно ли добавлять столбец ко всем типам контента или нет.

Я попытался отменить проверку этого свойства, и столбец сайта был добавлен в библиотеку локально (т.е. без использования в каком-либо типе контента).

Добавление столбцов из столбцов сайта

Screen Shot

Список столбцов

Screen Shot

Как мне достичь этого программно? В настоящее время я использую приведенный ниже код, который всегда добавляет столбец к типу содержимого по умолчанию.

Я не хочу, чтобы столбец был добавлен к какому-либо типу контента.

if (!list.Fields.ContainsField(reportField.ToString()))
{
    list.Fields.Add(reportField);
    list.Update();
}

1 Ответ

0 голосов
/ 09 января 2019

Можно использовать метод [AddFieldAsXml] [1] и установить для параметра AddFieldOptions значение AddToNoContentType. Смотрите пример ниже:

list.Fields.AddFieldAsXml(fieldSchemaXml, false, (AddFieldOptions.AddToNoContentType));
list.Update();

Если построение XML-схемы поля не является опцией, тогда вы можете установить типы содержимого только для чтения, пока добавляете дополнительные поля, а затем возвращаете их обратно. Это остановит добавление всех полей к типам контента с помощью метода AddField, который вы используете в настоящее время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...