RenderPattern-Element (Feldtypen)
Letzte Änderung: Freitag, 9. April 2010
Gilt für: SharePoint Foundation 2010
Inhalt dieses Artikels
Attribute
Untergeordnete Elemente
Übergeordnete Elemente
Wichtig |
---|
In diesem Thema wird Markup beschrieben, das in einer mittlerweile veralteten Methode zum Rendern benutzerdefinierter Feldtypen für Listenansichten und in den Formularen Anzeigen, Bearbeiten und Neu verwendet wurde. Es dient ausschließlich zur Unterstützung des Debuggings eines benutzerdefinierten Feldtyps, der ursprünglich für eine frühere Version von SharePoint Foundation entwickelt wurde. Informationen zu den empfohlenen Methoden finden Sie unter Gewusst wie: Erstellen von Feldrenderingvorlagen und Vorgehensweise: Erstellen eines benutzerdefinierten Feldtyps. Benutzerdefinierte Felder, deren Rendern anhand von RenderPattern-Markup definiert wird, werden weiter ordnungsgemäß auf Formularen gerendert. Allerdings verwendet SharePoint Foundation standardmäßig XSLT-Stylesheets für das Rendern von Feldern in Listenansichten, sogar für ältere benutzerdefinierte Felder, deren Rendern in Listenansichten mit RenderPattern-Markup definiert wird. Zum Aktivieren des Renderns eines solchen Felds muss ein <Field Name="CAMLRendering">TRUE</Field>-Element dem enthaltenden FieldTypes-Element in der Definitionsdatei des Feldtyps (fldtype*.xml) hinzugefügt werden. |
RenderPattern definiert das tatsächliche Collaborative Application Markup Language (CAML)-Element, die HTML und Skript, das SharePoint Foundation zum Rendern des Feldtyps auf der Benutzeroberfläche verwenden kann. Außerdem stellt dieses Element in Listenansichten die Spaltenüberschriften basierend auf dem ausgewählten Feldtyp dar.
<RenderPattern Name="Text">
</RenderPattern>
Attribute
Attribut |
Beschreibung |
---|---|
Name |
Erforderlicher String-Wert. Der Name des Rendermusters, das Sie in diesem RenderPattern-Element definieren. Gültige Werte:
|
Untergeordnete Elemente
Keine explizit definierten, aber dieses Element ist ein Container für CAML-Markup aus dem View-Schema. |
Übergeordnete Elemente
Hinweise
Vererbung von "RenderPattern"-Elementen
Wenn ein RenderPattern-Element mit einem bestimmten Name-Wert nicht für einen Feldtyp angegeben ist, erbt der Feldtyp das RenderPattern-Element mit diesem Namen von seinem übergeordneten Feldtyp.
HeaderPattern
Wenn das CAML-Rendern aktiviert ist (siehe oben), muss der Feldtyp über einen HeaderPattern-Typ des RenderPattern-Elements verfügen (entweder direkt oder durch Vererbung), denn sonst wird die Überschrift des Felds in Listenansichten nicht gerendert. Das Markup in einen HeaderPattern-Element kann relativ einfach sein, wenn der Feldtyp nicht sortiert oder gefiltert werden kann. Wenn der Feldtyp jedoch sortiert oder gefiltert werden kann, wird das Markup möglicherweise recht komplex, da der Header nicht nur als Titel der Spalte, sondern auch als Dropdownmenü-Steuerelement für die Sortierung und Filterung dient. Da darüber hinaus die Möglichkeit der Sortierung und Filterung für bestimmte Spalten deaktiviert werden kann (auch wenn der Feldtyp, auf dem die Spalte basiert, dies unterstützt), muss das Markup Switch-Elemente verwenden, um zu testen, ob die Sortierung oder Filterung für die Spalte aktiviert ist. Beispiele finden in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\FLDTYPES.XML.
DisplayPattern
Wenn das CAML-Rendern aktiviert ist (siehe oben), benötigt ein Feldtyp einen DisplayPattern-Typ des RenderPattern-Elements (durch Vererbung, nicht direkt), damit das Feld für Listenansichten gerendert werden kann. Dies ist nicht erforderlich, um das Feld im Modus "Anzeigen" zu rendern, z. B. auf der Seite "Anzeigen" (Listenelement), weil ein Feld auch im Modus "Anzeigen" über ein -Rendersteuerelement (ASCX-Datei) gerendert werden kann. Die veralteten Feldtypen im Funktionsumfang von SharePoint Foundation verwenden kein Rendersteuerelement, sondern einen DisplayPattern-Typ des RenderPattern-Elements zum Rendern des Felds im Modus "Anzeigen".
Der DisplayPattern-Typ von RenderPattern kann auch zum Rendern des Felds in jeder Zeile einer Listenansicht verwendet werden. Standardmäßig verwendet SharePoint Foundation ein XSLT-Markup in einer fldtypes*.xsl-Datei in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS\XSL zum Rendern von Feldern in Listenansichten. Doch die fldtypes*.xml-Datei in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML wird auf das Vorhandensein von <Field Name="CAMLRendering">TRUE</Field> im enthaltenden FieldTypes-Element für das Feld überprüft. Falls vorhanden, wird DisplayPattern zum Rendern des Felds in Listenansichten verwendet.
Hinweis |
---|
Zwei veraltete Feldtypen im Funktionsumfang von SharePoint Foundation haben keinen DisplayPattern-Typ des RenderPattern-Elements in FLDTYPES.XML: (1.) ContentTypeId-Felder werden nie angezeigt. (2.) Computed-Felder werden in Listenansichten und im Modus "Anzeigen" mittels eines DisplayPattern-Elements in ihren Field-Elementen innerhalb der Datei schema.xml jeder Liste gerendert, in der sie angezeigt werden. |
"NewPattern" und "EditPattern"
Die Typen NewPattern und EditPattern des RenderPattern-Elements dienten zum Rendern eines Felds im Modus "Neu" bzw. "Bearbeiten", wenn für das Feld keine wesentliche Datenverarbeitung oder -überprüfung erforderlich war, sobald ein Listenelement, das das Feld enthielt, erstellt oder bearbeitet wurde. Formfreie Notizfelder können beispielsweise nicht auf Gültigkeit überprüft werden, da beliebiger Text einen gültigen Wert darstellt. Gleichsam beschränken Auswahlfelder (Choice) und Nachschlagefelder (Lookup) die Optionen des Benutzers per Definition auf ausschließlich gültige Werte. Andere Felder wie "Currency" und "DateTime" benötigen nur eine minimale Gültigkeitsprüfung, die in Skript codiert werden kann.
In %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\XML\FLDTYPES.XML finden Sie Beispiele der Typen NewPattern und EditPattern von RenderPattern-Elementen.
"RenderPattern"-Elemente für von "MultiColumn" abgeleitete benutzerdefinierte Feldtypen
Im RenderPattern-Markup eines benutzerdefinierten "MultiColumn"-Felds dient das SubcolumnNumber-Attribut eines Column-Elements zum Angeben einer einzelnen Spalte in einem mehrspaltigen Feldtyp. Weitere Informationen zu mehrspaltigen Feldtypen finden Sie unter Benutzerdefinierte mehrspaltige Feldklassen.
Beispiel
Das folgende Beispiel definiert ein Anzeigerendermuster für einen benutzerdefinierten Feldtyp, der Daten vom "MultiColumn"-Typ erbt. Das Feld dient zum Speichern US-amerikanischer Adressen. In der ersten Unterspalte wird die Straße gespeichert. Darauf folgt ein HTML-Zeilenumbruch. In der nächsten Unterspalte wird der Ortsname gespeichert, auf den ein Komma und ein Leerzeichen folgen. In der dritten Unterspalte wird der Bundesstaat gespeichert. Dann folgt ein Leerzeichen. In der letzten Spalte wird die Postleitzahl gespeichert.
<RenderPattern Name="DisplayPattern">
<Switch>
<Expr><Column/></Expr>
<Case Value="">
</Case>
<Default>
<Column SubColumnNumber="0" HTMLEncode="TRUE"/>
<HTML><![CDATA[<BR>]]></HTML>
<Column SubColumnNumber="1" HTMLEncode="TRUE"/>
<HTML><![CDATA[, ]]></HTML>
<Column SubColumnNumber="2" HTMLEncode="TRUE"/>
<HTML><![CDATA[ ]]></HTML>
<Column SubColumnNumber="3" HTMLEncode="TRUE"/>
</Default>
</Switch>
</RenderPattern>
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten Feldtyps
Konzepte
Gewusst wie: Erstellen einer benutzerdefinierten Feldklasse
Rendern der Eigenschaften von benutzerdefinierten Feldtypen
Vorgehensweise: Erstellen einer benutzerdefinierten Feldtypdefinition