Erstellen von SharePoint 2010-Listendefinitionen in Visual Studio 2010

SharePoint-Videotutorial

Zusammenfassung: Informationen zum Erstellen von Listendefinitionen und Listeninstanzen für Microsoft SharePoint 2010 mithilfe von Microsoft Visual Studio 2010.

Letzte Änderung: Mittwoch, 12. September 2012

Gilt für: Office 2010 | SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio 2008 | Visual Studio 2010

Bereitgestellt von: Ben Hedges, Point8020

Übersicht

Listendefinitionen und Listeninstanzen, die auf diesen Definitionen basieren, sind ein fundamentaler Bestandteil von Microsoft SharePoint 2010. In Microsoft Visual Studio 2010 gibt es einen Projekttyp, der das Erstellen von Listendefinitionen in XML und das Erstellen von Listeninstanzen, die auf diesen Definitionen basieren, erleichtert. Darüber hinaus können Sie durch die enge Integration in SharePoint 2010 Listendefinitionen und Listeninstanzen direkt in Visual Studio 2010 in einer SharePoint-Website bereitstellen.

Code schreiben

In diesem SharePoint-Videotutorial werden die folgenden Schritte zum Erstellen und Bereitstellen einer Listendefinition in Visual Studio 2010 beschrieben:

  1. Erstellen einer SharePoint 2010-Listendefinitionsanwendung in Visual Studio 2010.

  2. Bearbeiten der Listeninstanzdatei Elements.xml, um Details für eine Instanz der Liste anzugeben.

  3. Bearbeiten der Listendefinitionsdatei Elements.xml, um den Inhaltstyp und Felder, die auf der Erstellungsseite für in einer Instanz dieser Liste erstellte Elemente angezeigt werden, zu definieren.

  4. Bearbeiten der Listendefinitionsdatei Schema.xml, um die Inhalte und Spalten, die in den Ansichten für diese Liste angezeigt werden, zu definieren.

In diesem Beispiel erstellen Sie eine Listendefinition für Equipment Availability, mit der Benutzer ein Geräteverzeichnis erstellen und angeben können, ob das Gerät aktuell verfügbar ist.

So erstellen Sie eine SharePoint 2010-Listendefinitionsanwendung in Visual Studio 2010

  1. Starten Sie Visual Studio 2010. Klicken Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  2. Erweitern Sie im Dialogfeld Neues Projekt im Abschnitt Installierte Vorlagen den Eintrag Visual Basic oder Visual C#, erweitern Sie SharePoint, und klicken Sie dann auf 2010.

  3. Klicken Sie in der Vorlagenliste auf Listendefinition.

  4. Geben Sie unten im Feld Name den Namen EquipmentAvailability ein.

  5. Belassen Sie die Standardwerte in den anderen Feldern, und klicken Sie auf OK.

  6. Wählen Sie unter Welche lokale Site soll für das Debugging verwendet werden? Ihre Website aus.

  7. Klicken Sie auf Als Farmlösung bereitstellen, und klicken Sie anschließend auf Weiter.

  8. Geben Sie auf der Seite Listendefinitionseinstellungen auswählen im Feld für den Anzeigenamen der Listendefinition Equipment Availability ein.

  9. Wählen Sie in der Liste Welchen Typ weist die Listendefinition auf? die Option Benutzerdefinierte Liste aus.

  10. Stellen Sie sicher, dass das Kontrollkästchen Fügt eine Listeninstanz für diese Listendefinition hinzu aktiviert ist, und klicken Sie anschließend auf Fertig stellen.

So ändern Sie die Listeninstanzdatei "Elements.xml"

So ändern Sie die Listendefinitionsdatei "Elements.xml"

So ändern Sie die Datei "Schema.xml"

So stellen Sie das Projekt bereit und testen es

  • Klicken Sie im Projektmappen-Explorermit der rechten Maustaste auf das Projekt, und wählen Sie dann Bereitstellen aus.

  • Öffnen Sie die SharePoint-Homepage.

  • Klicken Sie im Menü Schnellstart auf Equipment Availability. Die in der Listeninstanz definierten Elemente werden angezeigt.

Lesen
  • In Visual Studio 2010 gibt es einen Projekttyp, mit dem Sie Listendefinitionen und Listeninstanzen in Visual Studio erstellen können.

  • Mithilfe einer Listendefinition können Websitebenutzer neue Listeninstanzen basierend auf der Definition erstellen, indem sie die Definition im Dialogfeld Erstellen auf der SharePoint-Website auswählen.

  • Optional können Sie zusammen mit der Listendefinition eine Listeninstanz in Visual Studio erstellen, damit beim Bereitstellen des Projekts die Instanz basierend auf der Listendefinition erstellt wird.

Listendefinitionsdatei "Elements.xml"

In diesem Beispiel wird die Listendefinitionsdatei Elements.xml bearbeitet, damit sie einen eindeutigen Wert für Type aufweist. Der Wert für Type sollte höher als 10.000 und für dieses Feature eindeutig sein.

Type="10001"

Sie müssen dem XML-Tag List Elements die folgenden Attribute hinzufügen, um Inhaltstypen zu aktivieren und das Löschen von Listen, die basierend auf dieser Definition erstellt werden, zu deaktivieren.

AllowDeletion="FALSE"
DisallowContentTypes="FALSE"

Der Inhaltstyp Equipment Availability wird der Definition hinzugefügt. Er gibt den Inhaltstyp des übergeordneten Elements an und weist eine eindeutige Inhalts-ID auf, die durch Verketten der übergeordneten ID und einer GUID erstellt wird.

<ContentType
      ID="0x01004d360004c8074de6a25f4d8cdd3be8dd"
      Name="Equipment Availability"
      Group="Custom Content Type"
      Description="Equipment Availability"
      Version="0">
    <FieldRefs>
      <FieldRef ID="{d3a92d97-2b77-4a25-9698-3ab54874bc10}" />
      <FieldRef ID="{d3a92d97-2b77-4a25-9698-3ab54874bc12}" />
    </FieldRefs>
  </ContentType>

Weitere Informationen zum Erstellen von IDs für Inhaltstypen finden Sie unter Inhaltstyp-IDs.

Innerhalb dieses Inhaltstyps fügen Sie FieldRef-Tags mit GUIDs zum Identifizieren von Spalten hinzu, die den bereits vorhandenen Spalten des übergeordneten Inhaltstyps hinzugefügt werden. Die GUIDs für jedes Feld werden vom Entwickler generiert. Die Details für diese Spalten werden in derselben Datei hinzugefügt.

<Field ID="{d3a92d97-2b77-4a25-9698-3ab54874bc10}" 
       Name="EquipmentDescription" 
       Type="Note" 
       DisplayName="Equipment Description" 
       Required="FALSE" 
       NumLines="6">
</Field>

<Field ID="{d3a92d97-2b77-4a25-9698-3ab54874bc12}" 
       Name="EquipmentAvailable" 
       Type="Boolean" 
       DisplayName="Equipment Available" 
       Required="FALSE"> 
  </Field>

Die GUIDs müssen unbedingt mit den GUIDs für ContentType aus dem vorherigen Schritt übereinstimmen. Mit den zusätzlichen Attributen werden der Feldtyp und das Verhalten auf dem Bildschirm angegeben.

Listendefinitionsdatei "Schema.xml"

Dem Listendefinitionsschema wird das folgende Attribut hinzugefügt.

EnableContentTypes="TRUE"

Zwischen den Tags <Fields> </Fields> am Anfang der Datei Schema.xml sind die folgenden Field-Tags erforderlich.

<Field ID="{d3a92d97-2b77-4a25-9698-3ab54874bc10}" 
       Name="EquipmentDescription" Type="Note" 
       DisplayName="Equipment Description" 
       Required="FALSE" NumLines="6">
</Field>
<Field ID="{d3a92d97-2b77-4a25-9698-3ab54874bc12}" 
       Name="EquipmentAvailable" Type="Boolean" 
       DisplayName="Equipment Available" Required="FALSE"> 
</Field>

Diese Felder stimmen mit den Feldern überein, die der Datei Elements.xml hinzugefügt wurden.

Die Schemadatei erfordert außerdem einen Verweis auf den Inhaltstyp, der für diese Liste erforderlich ist. Im <ContentTypes>-Element müssen Sie wie folgt auf Content Type ID verweisen.

<ContentTypeRef ID="0x01004d360004c8074de6a25f4d8cdd3be8dd" />

Die Datei Schema.xml enthält auch die Definition für Ansichtsfelder, die beim Anzeigen der Liste auf der Website verwendet werden. Fügen Sie im <ViewFields>-Tag im Abschnitt DefaultView die folgenden Zeilen hinzu.

<FieldRef Name="EquipmentDescription"></FieldRef>
<FieldRef Name="EquipmentAvailable"></FieldRef>

Listeninstanzdatei "Elements.xml"

Sie müssen die Listeninstanzdatei Elements.xml so bearbeiten, dass sie einen eindeutigen TemplateType aufweist und Title der Listeninstanz dieser Website entspricht.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <ListInstance Title="Equipment Availability"
                OnQuickLaunch="TRUE"
                TemplateType="10001"
                Url="Lists/EquipmentAvailability-ListInstance1"
                Description="My List Instance">

Sie konfigurieren die Listeninstanz so, dass sie im Menü Schnellstart angezeigt wird. Dadurch werden die Listendefinitionseinstellungen für diese Listeninstanz überschrieben. Sie können Daten mit der Listeninstanz hinzufügen, indem Sie der Listeninstanz-XML-Datei XML hinzufügen. Mit dem folgenden XML werden der Liste drei Datenzeilen hinzugefügt.

<Data>
  <Rows>
    <Row>
      <Field Name ="Title">Projector</Field>
      <Field Name ="EquipmentDescription">
        High Definition Projector with built-in speaker.
      </Field>
      <Field Name ="EquipmentAvailable">TRUE</Field>
    </Row>
    <Row>
      <Field Name ="Title">Wired Microphone</Field>
      <Field Name ="EquipmentDescription">
        Dynamic Voice Microphone.
      </Field>
      <Field Name ="EquipmentAvailable">FALSE</Field>
    </Row>
    <Row>
      <Field Name ="Title">Wireless Microphone System</Field>
      <Field Name ="EquipmentDescription">
        Two hand held microphones and VHF receiver system.
      </Field>
      <Field Name ="EquipmentAvailable">TRUE</Field>
    </Row>
  </Rows>
</Data>
Anzeigen

Video ansehen

Video anschauen (00:06:09)

Klicken Sie hier, um den Code abzurufen

Code abrufen

Erforschen

Informationen zum Autor

Community-Mitwirkender Ben Hedges ist Senior Vice President, Research and Development, bei Point8020. Ben erstellt vor allem Modelle für Lösungen in den Bereichen Talentmanagement, Kompatibilität und Bildung und Entwicklung in SharePoint. Ben besitzt umfangreiche Erfahrungen bei der Erfüllung von Kundenanforderungen mithilfe von Microsoft-Technologien.