Практическое руководство. Создание определения настраиваемого типа поля
Дата последнего изменения: 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, содержит множество определений типов полей. Изменение этого файла не поддерживается. |
Далее приведен список элементов, включенных в определения типов полей. Щелкните имя элемента, чтобы посмотреть более подробные сведения о нем.
Контейнер-элемент верхнего уровня в файле fldtypes*.xml. |
|
Контейнер-элемент верхнего уровня в определении типа поля. |
|
Элемент, представляющий одну характеристику типа поля. |
|
Элемент, определяющий переменные свойства типов полей. Устарел. |
|
Элемент-контейнер верхнего уровня внутри элемента PropertySchema. Устарел. |
|
Элемент, представляющий переменное свойство настраиваемого типа поля, устанавливаемое при создании столбца, основанного на этом типе поля. Устарел. |
|
Элемент, представляющий значение по умолчанию свойства настраиваемого типа поля. Устарел. |
|
Элемент, задающий способ отображения полей в определенных обстоятельствах. Устарел. |
Пример определения типов полей
В следующем примере задаются два настраиваемых типа поля.
<?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.
См. также
Задачи
Пример: создание типа настраиваемого поля