CSOM Ищет список столбцов / полей, отображаемых в форме SharePoint

Я хочу получить список полей типа контента. Я надеюсь получить список только полей, которые отображаются в форме редактирования или редактировании свойств загруженного документа.

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

Я думаю, мне нужно взглянуть на коллекцию FieldLink, поскольку у нее должно быть свойство ShowInForm. Но этот ShowInForm не был допустимым свойством в этой коллекции.

Я также немного погуглил, но я вижу, как установить ShowInForm, но не вижу, как получить это значение для поля.

Если у Вас есть предложения, пожалуйста, дайте мне знать.

ClientContext clientContext = новый ClientContext (сайт);

        //// Get the content type using ID: 0x01003D7B5A54BF843D4381F54AB9D229F98A - is the ID of the "Custom" content Type
        string contentTypeID = GetContentTypeGUID(contentType, site);
            ContentType ct = clientContext.Web.ContentTypes.GetById(contentTypeID);

            //// Gets a value that specifies the collection of fields for the content type
            FieldCollection fieldColl = ct.Fields;
            clientContext.Load(fieldColl);
            clientContext.ExecuteQuery();

        //// Display the field name

            foreach (Field oField in fieldColl)
            {
               // Code for each Field
      }

person Rog    schedule 22.04.2021    source источник


Ответы (1)


Для каждого теста значение ShowInForm находится в свойстве field.SchemaXml.

введите описание изображения здесь

person Michael Han_MSFT    schedule 23.04.2021
comment
У меня нет этого свойства в моем field.SchemaXml. Я использую SharePoint 2013. Вот что у меня есть: ‹ID поля = \ {8553196d-ec8d-4564-9861-3dbe931050c8} \ Name = \ FileLeafRef \ SourceID = \ schemas.microsoft.com/sharepoint/v3 \ StaticName = \ FileLeafRef \ Group = \ _ Hidden \ ShowInFileDlg = \ FALSE \ ShowInVersionHistory = \ FALSE \ Type = \ File \ DisplayName = \ Name \ AuthoringInfo = \ (для использования в формах) \ List = \ Docs \ FieldRef = \ ID \ ShowField = \ LeafName \ JoinColName = \ DoclibRowId \ JoinRowOrdinal = \ 0 \ JoinType = \ INNER \ Required = \ TRUE \ Customization = \\ / › - person Rog; 23.04.2021