Практическое руководство. Создание определения настраиваемого типа поля

Дата последнего изменения: 9 марта 2015 г.

Применимо к: SharePoint Foundation 2010

Определение типа поля — это XML-файл с именем в формате fldtypes*.xml, который разворачивается в каталог "%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML". Типы полей, которые поставляются вместе с SharePoint Foundation, расположены в файле FLDTYPES.XML. Файл определения поля содержит сведения, необходимые SharePoint Foundation для правильной визуализации поля в представлениях списков и формах отображения, редактирования и создания. Имя и описание типа поля в том виде, в котором они отображаются на таких страницах пользовательского интерфейса как Настройка [списка], Создать столбец сайта и Создать столбец, также задаются в определении типа поля.Что более важно, определение содержит информацию о сборке, содержащей скомпилированный тип поля.

Чтобы настраиваемые типы полей распознавались, в SharePoint Foundation должно быть задано определение типа поля в файле fldtypes*.xml. Разработчик создает эти файлы в Visual Studio как часть проекта настраиваемых типов полей. Например, если есть определение для типа поля, задающего номер социального страхования Америки, то XML-файл можно назвать fldtypes_ssn_Contoso.xml.

ПримечаниеПримечание

Рекомендуется придерживаться модели систематического именования и включать в имя файла название организации, чтобы определения полей в каталоге ... \XML можно было легко отличить от определений других поставщиков решений. В одном файле можно хранить более одного определения поля (как это показано в примере ниже), и это будет разумным выбором, когда известно что несколько типов полей всегда будут разворачиваться вместе. Но для упрощения использования инструкций для пакета программных средств разработки SharePoint Foundation обычно предполагается, что в каждом настраиваемом файле fldtypes*.xml содержится один настраиваемый тип поля. Файл FLDTYPES.XML, поставляемый вместе с SharePoint Foundation, содержит множество определений типов полей. Изменение этого файла не поддерживается.

Далее приведен список элементов, включенных в определения типов полей. Щелкните имя элемента, чтобы посмотреть более подробные сведения о нем.

  <Элемент FieldTypes (Field Types)>

Контейнер-элемент верхнего уровня в файле fldtypes*.xml.

    <Элемент FieldType (Field Types)>

Контейнер-элемент верхнего уровня в определении типа поля.

      <Элемент Field (Field Types)>

Элемент, представляющий одну характеристику типа поля.

      <Элемент PropertySchema (Field Types)>

Элемент, определяющий переменные свойства типов полей. Устарел.

        <Элемент Fields (схема свойств типов поля)>

Элемент-контейнер верхнего уровня внутри элемента PropertySchema. Устарел.

          <Элемент Field (Field Types)>

Элемент, представляющий переменное свойство настраиваемого типа поля, устанавливаемое при создании столбца, основанного на этом типе поля. Устарел.

            <Элемент Default (схема свойств типов поля)>

Элемент, представляющий значение по умолчанию свойства настраиваемого типа поля. Устарел.

      <Элемент RenderPattern (Field Types)>

Элемент, задающий способ отображения полей в определенных обстоятельствах. Устарел.

Пример определения типов полей

В следующем примере задаются два настраиваемых типа поля.

<?xml version="1.0" encoding="utf-8" ?>
<FieldTypes>
  <FieldType>
    <Field Name="TypeName">SocialSecurityNumber</Field>
    <Field Name="ParentType">Text</Field>
    <Field Name="TypeDisplayName">Social Security Number</Field>
    <Field Name="TypeShortDescription">Social Security Number (123456789, 123-45-6789)
    </Field>
    <Field Name="AllowBaseTypeRendering">TRUE</Field>
    <Field Name="FieldTypeClass">
      AdventureWorks.FieldTypes.SSNField, AdventureWorks.FieldTypes,
      Version=1.0.0.0,Culture=neutral,PublicKeyToken=90734cc53324b79c
    </Field>
  </FieldType>
  <FieldType>
    <Field Name="TypeName">USAddress</Field>
    <Field Name="ParentType">MultiColumn</Field>
    <Field Name="TypeDisplayName">US Address</Field>
    <Field Name="TypeShortDescription">US Address(12345 NE 123 St. Redmond, WA 98052)
    </Field>
    <Field Name="UserCreatable">TRUE</Field>
    <Field Name="FieldTypeClass">
      AdventureWorks.FieldTypes.USAddressField, AdventureWorks.FieldTypes,
      Version=1.0.0.0,Culture=neutral,PublicKeyToken=90734cc53324b79c
    </Field>
  </FieldType>
</FieldTypes>

Определения типов полей в объектной модели

После развертывания решения типов полей можно получить доступ к определению типа поля в объектной модели SharePoint Foundation как к объекту SPFieldTypeDefinition. Большая часть параметров, заданных в XML-файле определений типов полей, представляются в виде доступных только для чтения членов класса SPFieldTypeDefinition. Большинство свойств этого класса имеют то же имя, что и соответствующие параметры в файле fldtypes*.xml. Дополнительные сведения об исключениях см. в разделе Элемент Field (Field Types).

Оба элемента, RenderPattern и PropertySchema, устарели. К элементу RenderPattern нельзя получить доступ при помощи SPFieldTypeDefinition. Элемент PropertySchema доступен для чтения в свойстве PropertySchema в виде строки XML.

См. также

Задачи

Пример: создание типа настраиваемого поля

Концепции

Типы настраиваемых полей

Инструкции. Создание настраиваемого класса поля

Отображение свойств настраиваемого типа поля