Exemplarische Vorgehensweise: Erstellen benutzerdefinierter Felder, Inhaltstypen, Listendefinitionen und Listeninstanzen

Das folgende Verfahren veranschaulicht, wie in SharePoint ein benutzerdefiniertes Feld namens Patient Name sowie ein Inhaltstyp erstellt werden, der das Feld verwendet. Außerdem wird veranschaulicht, wie dem Projekt eine Listendefinition zusammen mit einer Listeninstanz auf Grundlage der Listendefinition hinzugefügt wird, die den neuen Inhaltstyp und das Feld verwendet.

Diese exemplarische Vorgehensweise enthält die folgenden Aufgaben:

  • Erstellen und Anpassen eines Felds

  • Erstellen und Anpassen eines Inhaltstyps, der das Feld verwendet.

  • Erstellen und Anpassen einer Listendefinition.

  • Erstellen und Anpassen einer Listeninstanz der Listendefinition.

  • Anzeigen des neuen Felds im Inhaltstyp und in der Listeninstanz.

Tipp

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

Erstellen eines benutzerdefinierten Feldelements

Erstellen Sie zunächst in Visual Studio ein benutzerdefiniertes Feldelement mit dem Namen Patient Name als SharePoint-Projekt.

So erstellen Sie ein benutzerdefiniertes Feldelement

  1. Zeigen Sie das Dialogfeld Neues Projekt an, indem Sie im Menü Datei auf Neu zeigen und dann auf Neues Projekt klicken.

  2. Erweitern Sie unter Visual C# oder Visual Basic den Knoten SharePoint, und klicken Sie dann auf 2010.

  3. Klicken Sie im Bereich Vorlagen auf Leeres SharePoint-Projekt, ändern Sie den Namen des Projekts in "CustomField1", und klicken Sie dann auf OK.

    Der Assistent zum Anpassen von SharePoint wird angezeigt. Die Vorlage Leeres Projekt wird für benutzerdefinierte Feldelemente verwendet, da für diese Elemente keine Vorlage vorhanden ist.

  4. Geben Sie auf der Seite Site und Sicherheitsebene für Debugging angeben die URL für die SharePoint-Serverwebsite ein, der Sie das neue benutzerdefinierte Feldelement hinzufügen möchten, oder verwenden Sie den Standardspeicherort (http://<system name>/).

  5. Verwenden Sie im Abschnitt Wie lautet die Vertrauensebene für diese SharePoint-Lösung? den Standardwert Als Sandkastenlösung bereitstellen.

    Weitere Informationen zu Sandkastenlösungen und Farmlösungen finden Sie unter Überlegungen zu Sandkastenlösungen.

  6. Klicken Sie auf Fertig stellen. Das Projekt sollte im Projektmappen-Explorer angezeigt werden.

  7. Fügen Sie dem Projekt ein Projektelement Leeres Element hinzu. Klicken Sie dazu im Projektmappen-Explorer auf den Projektknoten des Felds (CustomField1), und klicken Sie dann im Menü Projekt auf Neues Element hinzufügen.

  8. Erweitern Sie unter Visual C# oder Visual Basic den Knoten SharePoint, und klicken Sie dann auf 2010.

  9. Wählen Sie im Bereich Vorlagen die Vorlage Leeres Element aus, übernehmen Sie den Standardnamen "EmptyElement1", und klicken Sie dann auf Hinzufügen.

  10. Fügen Sie in der Datei "Elements.xml" unter EmptyElement1 Folgendes nach dem <Elements>-Tag hinzu:

    <Field ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
        Type="Note" 
        Name="PatientName" 
        DisplayName="Patient Name" 
        Group="A Custom Group">
    </Field>
    

    Hierdurch wird ein Feld namens Patient Name hinzugefügt.

    Wichtig

    Wenn Sie ein benutzerdefiniertes Feld hinzufügen, müssen Sie die Attribute ID, Type, Name, DisplayName und Group für das Feld angeben, damit es in SharePoint ordnungsgemäß angezeigt wird. Die Anweisungsvervollständigung gibt irrtümlich an, dass nur die ersten drei dieser Attribute benötigt werden, obwohl alle fünf erforderlich sind.

  11. Drücken Sie F5, um das Projekt in SharePoint auszuführen und bereitzustellen.

    Wenn eine Meldung mit der Warnung angezeigt wird, dass das Skriptdebuggen deaktiviert ist, klicken Sie auf Ja, um das Debuggen fortzusetzen.

  12. Wenn Sie erstmals eine Webanwendung in Visual Studio debuggen, werden Sie gefragt, ob Sie die Webkonfigurationsdatei ändern möchten, um das Debuggen zu aktivieren. Beantworten Sie die Frage mit Ja.

  13. Klicken Sie am oberen Rand der SharePoint-Webseite auf die Schaltfläche Websiteaktionen und dann auf Websiteeinstellungen.

  14. Klicken Sie unter dem Abschnitt Galerien der Seite Websiteeinstellungen auf den Link Websitespalten.

  15. Führen Sie auf der Seite Websitespaltenkatalog einen Bildlauf nach unten zur Überschrift Benutzerdefinierte Spalten aus, und achten Sie dabei auf das hinzugefügte neue Feldelement Patient Name.

  16. Schließen Sie den Browser.

Erstellen eines benutzerdefinierten Inhaltstyps

Erstellen Sie jetzt einen Inhaltstyp auf Grundlage der SharePoint-Liste Kontakte, in dem das neue, im vorherigen Verfahren erstellte Feld verwendet wird.

So erstellen Sie einen benutzerdefinierten Inhaltstyp

  1. Fügen Sie dem Projekt einen Inhaltstyp hinzu. Klicken Sie hierfür im Projektmappen-Explorer auf den Projektnoten, und klicken Sie dann im Menü Projekt auf Neues Element hinzufügen.

  2. Erweitern Sie unter Visual C# oder Visual Basic den Knoten SharePoint, und klicken Sie dann auf 2010.

  3. Wählen Sie im Bereich Vorlagen die Vorlage Inhaltstyp aus, und verwenden Sie den Standardnamen "ContentType1".

  4. Wählen Sie im Assistenten zum Anpassen von SharePoint den Inhaltstyp Kontakt als Grundlage für den neuen Inhaltstyp aus, und klicken Sie dann auf Fertig stellen.

    Hierdurch wird die Datei Elements.xml des Inhaltstyps zur Bearbeitung geöffnet.

  5. Kopieren Sie folgende Elemente, und fügen Sie diese im <FieldRefs>-Abschnitt von Elements.xml ein:

    <FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
        Name="PatientName" 
        DisplayName="Patient Name" 
        Required="TRUE"/>
    

    Die hier verwendete FieldRef-ID verweist auf die Feld-ID, die für das benutzerdefinierte Feld erstellt wurde.

  6. Drücken Sie F5, um das Projekt auszuführen und bereitzustellen.

  7. Klicken Sie am oberen Rand der SharePoint-Webseite auf die Schaltfläche Websiteaktionen und dann auf Websiteeinstellungen.

  8. Klicken Sie auf der Seite Websiteeinstellungen unter dem Abschnitt Galerien auf den Link Websiteinhaltstypen.

  9. Beachten Sie auf der Seite Websiteinhaltstyp-Katalog den neuen, gerade erstellten Inhaltstyp CustomField1 - ContentType1. Klicken Sie darauf, um die zugehörigen Felder anzuzeigen. Beachten Sie in der Liste der Felder für CustomField1 - ContentType1, dass das Feld Patient Name hinzugefügt wurde.

  10. Schließen Sie den Browser.

Erstellen einer Listendefinition und einer Listeninstanz

Erstellen Sie nun eine Listendefinition und eine Listeninstanz, die den neuen Inhaltstyp und das Feld verwendet. Da die Listendefinition auf Grundlage des soeben erstellten Inhaltstyps erstellt werden soll, wird die Projektelementvorlage Listendefinition von Inhaltstyp verwendet.

So erstellen Sie eine Listendefinition und eine Listeninstanz

  1. Fügen Sie dem Projekt eine Listendefinition hinzu. Klicken Sie hierfür im Projektmappen-Explorer auf den Projektnoten, und klicken Sie dann im Menü Projekt auf Neues Element hinzufügen.

  2. Erweitern Sie unter Visual C# oder Visual Basic den Knoten SharePoint, und klicken Sie dann auf 2010.

  3. Wählen Sie im Bereich Vorlagen die Vorlage Listendefinition von Inhaltstyp aus, und verwenden Sie den Standardnamen "ListDefinition1".

  4. Übernehmen Sie im Feld Wie lautet der Anzeigename der Listendefinition? den Standardwert CustomField1 - ListDefinition1.

  5. Verwenden Sie in der Liste Welcher Inhaltstyp soll für die Listendefinition verwendet werden? den Standardwert (den einzigen Wert) CustomField1 - ContentType1.

    Hiermit wird auf Grundlage der neuen, geänderten Liste Kontakte eine anpassbare Listendefinition erstellt.

  6. Aktivieren Sie das Kontrollkästchen Fügt eine Listeninstanz für diese Listendefinition hinzu, um dem Projekt ein Listeninstanz-Projektelement hinzuzufügen. Die Listeninstanz ist eine Instanz der neuen Listendefinition.

  7. Klicken Sie auf Fertig stellen. Die Listendefinition sollte im Projektmappen-Explorer angezeigt werden.

Anpassen der Listendefinition

Abschließend passen Sie die Listendefinition an, indem Sie das neue Feld Patient Name hinzufügen.

Wichtig

Der Wert des Name-Attributs in der Datei Elements.xml der Listendefinition muss dem Ordnernamen des Projektelements Listendefinition entsprechen. Andernfalls tritt bei der Ausführung des Projekts ein Fehler tritt auf. Um sicherzustellen, dass das Name-Attribut dem Ordnernamen entspricht, wird der Ersatzparameter (oder das Token) $ProjectItemName$ verwendet. Wenn das SharePoint-Projekt verpackt und bereitgestellt wird, wird dieses Token in den tatsächlichen Ordnernamen der Listendefinition konvertiert. Wenn Sie den Wert des Name-Attributs abweichend von diesem Token ändern, wird die Anwendung möglicherweise nicht ordnungsgemäß ausgeführt. Weitere Informationen finden Sie unter Ersetzbare Parameter.

So fügen Sie der Listendefinition ein Feld hinzu

  1. Doppelklicken Sie im Projektmappen-Explorer unter ListDefinition1 auf die Datei "Schema.xml".

    Schema.xml definiert alle Felder und anderen Elemente der Listendefinition, z. B. Name und Adresse. Unter dem <Fields>-Element oben in der Datei wurde die folgende Felddefinition vom Inhaltstyp hinzugefügt:

    <FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
        Name="PatientName" 
        DisplayName="Patient Name" 
        Required="TRUE" />
    
  2. Drücken Sie F5, um das Projekt auszuführen und bereitzustellen.

  3. Klicken Sie auf der SharePoint-Schnellstartleiste unter dem Abschnitt Listen auf den Link CustomField1 - ListInstance1.

    Dies ist die Listeninstanz für die neue Listendefinition. Beachten Sie, dass das neue Feld Patient Name in der Listeninstanz noch nicht als Spalte angezeigt wird.

  4. Klicken Sie am oberen Rand der Seite auf der Menüregisterkarte Listentools auf Liste, und klicken Sie dann im Menüband auf die Schaltfläche Ansicht ändern.

  5. Wählen Sie in der Liste der verfügbaren Spaltennamen Patient Name aus, und klicken Sie dann auf OK. Beachten Sie, dass das Feld Patient Name jetzt in der Listeninstanz angezeigt wird.

Siehe auch

Weitere Ressourcen

Entwickeln von SharePoint-Lösungen

Vorgehensweise: Erstellen eines benutzerdefinierten Feldtyps

Inhaltstypen

Spalten