Vorgehensweise: Erstellen einer benutzerdefinierten Feldtypdefinition

Letzte Änderung: Freitag, 9. April 2010

Gilt für: SharePoint Foundation 2010

Eine Feldtypdefinition ist eine nach dem Muster fldtypes*.xml benannte XML-Datei, die im Verzeichnis %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML bereitgestellt wird. Die in SharePoint Foundation enthaltenen Feldtypen befinden sich in der Datei FLDTYPES.XML. Eine Felddefinitionsdatei enthält die Informationen, die in SharePoint Foundation zum ordnungsgemäßen Rendern des Felds in Listenansichten und auf den Formularen Anzeigen, Bearbeiten und Neu benötigt werden. Der Name und die Beschreibung des Feldstyps, wie sie auf den Benutzeroberflächenseiten wie der (Listen-)Seite Anpassen und den Seiten Neue Websitespalte und Spalte erstellen angezeigt werden, werden ebenfalls in der Feldtypdefinition konfiguriert. Am wichtigsten ist jedoch, dass die Definition Informationen zu der Assembly enthält, die den kompilierten Feldtyp enthält.

Um einen benutzerdefinierten Feldtyp zu erkennen, muss SharePoint Foundation über eine Feldtypdefinition in einer fldtypes*.xml-Datei verfügen. Sie erstellen diese Dateien in Visual Studio als Teil eines benutzerdefinierten Feldtypprojekts. Wenn Sie beispielsweise über eine Feldtypdefinition für einen Feldtyp verfügen, der eine Sozialversicherungsnummer (Social Security Number) definiert, könnten Sie der XML-Datei den Namen fldtypes_ssn_Contoso.xml geben.

HinweisHinweis

Es empfiehlt sich, ein systematisches Benennungsmuster einzuhalten und den Firmennamen einzubeziehen, sodass Ihre Feldtypdefinitionen im Verzeichnis ... \XML problemlos von denjenigen anderer Lösungsanbieter unterschieden werden können. Es ist möglich, mehr als eine Felddefinition in derselben Datei (wie im folgenden Beispiel) anzugeben, was eine sinnvolle Strategie sein kann, wenn es mehrere Feldtypen gibt, von denen sie wissen, dass sie immer zusammen bereitgestellt werden. Um die Anweisungen jedoch nicht unnötig zu verkomplizieren, wird im SharePoint Foundation SDK generell davon ausgegangen, dass jede benutzerdefinierte fldtypes*.xml-Datei nur genau einen benutzerdefinierten Feldtyp enthält. Die Datei FLDTYPES.XML, die im Lieferumfang von SharePoint Foundation enthalten ist, enthält viele Feldtypdefinitionen. Das Bearbeiten dieser Datei wird nicht unterstützt.

Es folgt eine Liste der in der Feldtypdefinition enthaltenen Elemente. Klicken Sie auf den Namen eines Elements, um ausführliche Informationen zu diesem Element anzuzeigen.

  <FieldTypes-Element (Feldtypen)>

Das Containerelement auf oberster Ebene für die Datei fldtypes*.xml.

    <FieldType-Element (Feldtypen)>

Das Containerelement auf oberster Ebene für eine Feldtypdefinition.

      <Field-Element (Feldtypen)>

Ein Element, das ein einzelnes Merkmal des Feldtyps darstellt.

      <PropertySchema-Element (Feldtypen)>

Ein Element, das variable Feldtypeigenschaften definiert. Veraltet.

        <Fields-Element (Feldtypeigenschaften-Schema)>

Das Containerelement auf oberster Ebene innerhalb eines PropertySchema-Elements. Veraltet.

          <Field-Element (Feldtypen)>

Ein Element, das eine variable Eigenschaft eines benutzerdefinierten Feldtyps darstellt und festgelegt wird, wenn eine auf diesem Feldtyp basierte Spalte erstellt wird. Veraltet.

            <Default-Element (Eigenschaftenschema von Feldtypen)>

Ein Element, das den Standardwert einer Eigenschaft eines benutzerdefinierten Feldtyps darstellt. Veraltet.

      <RenderPattern-Element (Feldtypen)>

Ein Element, das definiert, wie das Feld in bestimmten Situationen gerendert wird. Veraltet.

Beispiel für eine Feldtypdefinition

Das folgende Beispiel definiert zwei benutzerdefinierte Feldtypen.

<?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>

Feldtypdefinitionen im Objektmodell

Nach dem Bereitstellen einer Feldtyplösung können Sie im SharePoint Foundation-Objektmodell in Form des SPFieldTypeDefinition-Objekts auf die Feldtypdefinition zugreifen. Die meisten Einstellungen, die Sie im XML-Code für die Feldtypdefinition definieren, werden als schreibgeschützte Member der SPFieldTypeDefinition-Klasse dargestellt. Die meisten Eigenschaften dieser Klasse weisen denselben Namen wie die entsprechende Einstellung in der Datei fldtypes*.xml auf. Informationen zu den Ausnahmen finden Sie unter Field-Element (Feldtypen).

Sowohl RenderPattern als auch PropertySchema sind veraltet. Der Zugriff auf das RenderPattern-Element ist nicht über SPFieldTypeDefinition möglich. Das PropertySchema-Element kann in der PropertySchema-Eigenschaft als XML-Zeichenfolge gelesen werden.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten Feldtyps

Konzepte

Benutzerdefinierte Feldtypen

Gewusst wie: Erstellen einer benutzerdefinierten Feldklasse

Rendern der Eigenschaften von benutzerdefinierten Feldtypen