Erstellen benutzerdefinierter Listendefinitionen in SharePoint 2010
Erste Schritte mit der Webentwicklung in SharePoint 2010: Informationen zum Erstellen einer benutzerdefinierten Listendefinition in SharePoint 2010 und zum Anfügen eines Ereignisempfängers.
Letzte Änderung: Mittwoch, 12. Januar 2011
Gilt für: SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio 2010
In dieser Übung erstellen Sie eine benutzerdefinierte Listendefinition in Microsoft SharePoint 2010 und erstellen anschließend einen Ereignisempfänger, der bei Verwendung der Liste ausgelöst wird. Für diese Aufgabe müssen Sie die folgenden Schritte ausführen:
Erstellen eines SharePoint-Listendefinitionsprojekts
Anpassen der SharePoint-Listendefinition
Testen der Projektmappe
Erstellen eines SharePoint-Listendefinitionsprojekts
Für diese Aufgabe erstellen Sie ein SharePoint 2010-Listendefinitionsprojekt in Microsoft Visual Studio 2010.
So erstellen Sie das SharePoint-Projekt
Klicken Sie zum Starten von Visual Studio 2010 im Startmenü auf Alle Programme, klicken Sie auf Microsoft Visual Studio 2010, und klicken Sie dann auf Microsoft Visual Studio 2010.
Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Klicken Sie im Dialogfeld Neues Projekt im Abschnitt Installierte Vorlagen auf Visual C#, klicken Sie auf SharePoint, und klicken Sie dann auf 2010.
Klicken Sie in den Projektelementen auf Listendefinition.
Geben Sie im Feld Name die Bezeichnung Bugs ein, und klicken Sie dann auf OK.
Geben Sie im Assistenten zum Anpassen von SharePoint die lokale Website ein, die Sie für diese Übung verwenden möchten (z. B. https://localhost/SampleWebSite).
Wählen Sie Als Farmlösung bereitstellen für die Vertrauensebene aus, und klicken Sie dann auf Weiter.
Geben Sie im Feld Wie lautet der Anzeigename der Listendefinition? die Bezeichnung Bugs ein.
Wählen Sie in der Dropdownliste Welchen Typ weist die Listendefinition auf? die Option Benutzerdefinierte Liste aus.
Aktivieren Sie das Kontrollkästchen Fügt eine Listeninstanz für diese Listendefinition hinzu, und klicken Sie anschließend auf Fertig stellen.
Anpassen der SharePoint-Listendefinition
Für diese Aufgabe führen Sie die Schritte zum Anpassen der Projektvorlage Listendefinition aus, indem Sie den Listennamen, den darin gespeicherten Inhaltstyp sowie die Felder, die im neuen Formular, Bearbeitungsformular und Anzeigeformular angezeigt werden, ändern.
So passen Sie die Listendefinition an
Erweitern Sie im Projektmappen-Explorer den Knoten ListInstance1, und öffnen Sie dann die Datei Elements.xml.
Ändern Sie im ListInstance-Element das Title-Attribut in Bugs, und ändern Sie das TemplateType-Attribut in 10001.
Öffnen Sie im Projektmappen-Explorer, vor Schema.xml, die Datei Elements.xml.
Ändern Sie im ListTemplate-Element das Type-Attribut in 10001, und fügen Sie das DisallowContentTypes=”FALSE”-Attribut hinzu.
Fügen Sie wie in Abbildung 1 dargestellt in der Datei Elements.xml den folgenden XML-Code am Anfang des Elements-Elements ein. Dieser XML-Code beschreibt den von der Liste gespeicherten Bug Item-Inhaltstyp.
<!-- Describes content types. --> <ContentType ID="0x010089E3E6DB8C9B4B3FBB980447E313CE94" Name="Bug Item" Group="Custom Content Types" Description="Bug item content type." Version="0"> <FieldRefs> <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" /> <FieldRef ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" /> <FieldRef ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" /> <FieldRef ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" /> </FieldRefs> </ContentType> <!-- End describes content types. -->
Fügen Sie wie in Abbildung 1 dargestellt in der Datei Elements.xml den folgenden XML-Code am Anfang des Elements-Elements ein. Dieser XML-Code beschreibt die vom Bug Item-Inhaltstyp verwendeten Felder.
<!-- Describes fields in bug list. --> <Field Type="Note" DisplayName="Description" Required="FALSE" NumLines="6" RichText="FALSE" Sortable="FALSE" ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" StaticName="BugDescription" Name="BugDescription" Group="Custom Columns" /> <Field Type="Text" DisplayName="Project" Required="FALSE" MaxLength="255" ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" StaticName="BugProject" Name="BugProject" Group="Custom Columns" /> <Field Type="Text" DisplayName="Assigned To" Required="FALSE" MaxLength="255" ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" StaticName="BugAssignedTo" Name="BugAssignedTo" Group="Custom Columns" /> <!-- End describes fields in bug list. -->
Abbildung 1. Die Datei "Elements.xml" nach dem Einfügen der beiden Codeabschnitte
Öffnen Sie im Projektmappen-Explorer die Datei Schema.xml.
Fügen Sie das EnableContentTypes=”TRUE”-Attribut dem List-Element in der Datei Schema.xml hinzu.
Fügen Sie wie in Abbildung 2 dargestellt in der Datei Schema.xml den folgenden XML-Code im ContentTypes-Element ein. Dieser XML-Code beschreibt den von der Liste gespeicherten Bug Item-Inhaltstyp.
<!-- Start Add. --> <ContentTypeRef ID="0x010089E3E6DB8C9B4B3FBB980447E313CE94" /> <!-- End Add. -->
Fügen Sie wie in Abbildung 2 dargestellt den folgenden XML-Code im Fields-Element ein. Dieser XML-Code beschreibt die von der Liste gespeicherten Felder. Sie stehen in direktem Bezug zu den Feldern im Inhaltstyp, den Sie im vorherigen Schritt hinzugefügt haben.
<!-- Start Add. --> <Field Type="Note" DisplayName="Description" Required="FALSE" NumLines="6" RichText="FALSE" Sortable="FALSE" ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" StaticName="BugDescription" Name="BugDescription" Group="Custom Columns" /> <Field Type="Text" DisplayName="Project" Required="FALSE" MaxLength="255" ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" StaticName="BugProject" Name="BugProject" Group="Custom Columns" /> <Field Type="Text" DisplayName="Assigned To" Required="FALSE" MaxLength="255" ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" StaticName="BugAssignedTo" Name="BugAssignedTo" -Group="Custom Columns" /> <!-- End Add. -->
Abbildung 2. Die Datei "Schema.xml" nach dem Einfügen des Codes für "ContentTypeRefs" und "Fields"
Fügen Sie wie in Abbildung 3 dargestellt in der zweiten Ansicht den folgenden XML-Code im ViewFields-Element ein, wobei Folgendes gilt: BaseViewID="1". Dieser XML-Code beschreibt, welche Felder in dieser speziellen Ansicht sichtbar sein sollen. BaseView 1 ist als Standardansicht festgelegt. In dieser Ansicht sollten die neu erstellten Felder angezeigt werden.
<!-- Start Add. --> <FieldRef Name="BugDescription"></FieldRef> <FieldRef Name="BugProject"></FieldRef> <FieldRef Name="BugAssignedTo"></FieldRef> <!-- End Add. -->
Abbildung 3. Die Datei "Schema.xml" nach dem Einfügen von XML-Code für "Fields"
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Bugs, und klicken Sie dann auf Bereitstellen.
Testen der Projektmappe
Für diese Aufgabe testen Sie die Projektmappe, indem Sie der Liste Bugs einen Bug hinzufügen.
So fügen Sie der Liste "Bugs" ein Element hinzu
Öffnen Sie die zuvor angegebene Website.
Klicken Sie auf der Homepage im linken Navigationsbereich auf die Liste Bugs.
Klicken Sie auf der Registerkarte Listentools auf Elemente, und klicken Sie dann wie in Abbildung 4 dargestellt in der Dropdownliste Neues Element auf Bug Item.
Abbildung 4. "Bug Item" in der Dropdownliste "Neues Element"
Das Dialogfeld Bugs – Neues Element wird wie in Abbildung 5 dargestellt angezeigt.
Abbildung 5. Dialogfeld "Bugs – Neues Element"
Geben Sie im Dialogfeld Bugs – Neues Element die Bezeichnung Bug01 im Feld Titel ein.
Geben Sie Wer wird diesen Bug nachverfolgen? im Feld Beschreibung ein, geben Sie Schreiben von Entwicklerartikeln im Feld Projekt ein, und klicken Sie dann auf Speichern.