So verwenden Sie das SharePoint MultipleLookupField-Steuerelement: Eine Schritt-für-Schritt-Anleitung

Beim Arbeiten mit SharePoint können Sie auf Szenarien stoßen, in denen Sie mehrere Elemente aus einer Liste mit einem Element in einer anderen Liste verknüpfen müssen. Ein nützliches Steuerelement, um dies zu erreichen, ist das MultipleLookupField. In diesem Beitrag führen wir Sie Schritt für Schritt durch die Verwendung des MultipleLookupField-Steuerelements und stellen sicher, dass Sie verstehen, wie Sie mehrere Nachschlagewerte innerhalb Ihrer Webparts anzeigen und verwalten können.

Das Problem: Verknüpfen von zwei Listen

Die primäre Herausforderung besteht darin, das MultipleLookupField-Steuerelement in eine Webseite zu integrieren, die im Kontext von SharePoint ausgeführt wird. Möglicherweise möchten Sie zwei SharePoint-Feldsammlungen verknüpfen, z. B. Aufgaben und Dokumente. Dies erfordert einige grundlegende Einstellungen sowie ein Verständnis dafür, wie Sie das Steuerelement effektiv manipulieren können.

Erste Schritte mit MultipleLookupField

Schritt 1: Erstellen Sie Ihre SharePoint-Umgebung

  1. Ein Teamsite einrichten: Beginnen Sie damit, ein neues Teamsite innerhalb von SharePoint zu erstellen.
  2. Aufgaben hinzufügen: Gehen Sie zur Aufgabenliste und erstellen Sie ein paar Aufgaben.
  3. Ein Dokument erstellen: Laden Sie ein Dokument in die Bibliothek für gemeinsame Dokumente hoch.
  4. Eine Nachschlage-Spalte erstellen:
    • Erstellen Sie in der Bibliothek für gemeinsame Dokumente eine neue Spalte mit dem Namen “Zugeordnet”.
    • Setzen Sie diese Spalte auf ein Nachschlagefeld, das auf das “Titel”-Feld der Aufgabenliste verweist.
    • Stellen Sie sicher, dass mehrere Werte für diese Spalte zulässig sind.

Schritt 2: Erstellen des Webparts

Um das MultipleLookupField zu nutzen, müssen Sie ein Webpart erstellen. Hier ist ein vereinfachtes Beispiel, das Sie durch diesen Prozess führt.

Grundstruktur Ihres Webparts

Label l;
MultipleLookupField mlf;

protected override void CreateChildControls()
{
    base.CreateChildControls();
    SPList list = SPContext.Current.Web.Lists["Gemeinsame Dokumente"];
    if (list != null && list.Items.Count > 0)
    {
        LiteralControl lit = new LiteralControl("Verknüpfen Sie Aufgaben mit " + list.Items[0].Name);
        this.Controls.Add(lit);

        mlf = new MultipleLookupField();
        mlf.ControlMode = SPControlMode.Edit;
        mlf.FieldName = "Zugeordnet";
        mlf.ItemId = list.Items[0].ID;
        mlf.ListId = list.ID;
        mlf.ID = "Zugeordnet";
        this.Controls.Add(mlf);

        Button b = new Button();
        b.Text = "Ändern";
        b.Click += new EventHandler(bClick);
        this.Controls.Add(b);

        l = new Label();
        this.Controls.Add(l);
    }
}

void bClick(object sender, EventArgs e)
{
    l.Text = "";
    foreach (SPFieldLookupValue val in (SPFieldLookupValueCollection)mlf.Value)
    {
        l.Text += val.LookupValue.ToString() + " ";
    }

    SPListItem listitem = mlf.List.Items[0];
    listitem["Zugeordnet"] = mlf.Value;
    listitem.Update();
    mlf.Value = listitem["Zugeordnet"];
}

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    EnsureChildControls();
}

Schritt 3: Bereitstellung Ihres Webparts

  1. Erstellen und Bereitstellen: Kompilieren Sie Ihren Code und stellen Sie das Webpart in Ihrer SharePoint-Umgebung bereit.
  2. Fügen Sie das Webpart zu Ihrer Site hinzu: Navigieren Sie zu Ihrer Teamsite-Homepage und fügen Sie eine Instanz Ihres neuen Webparts hinzu.

Das Klick-Handler verstehen

Der Klickereignishandler bClick ist entscheidend für die Aktualisierung der Benutzeroberfläche.

  • Werte abrufen: Er beginnt damit, alle ausgewählten Werte aus dem MultipleLookupField abzurufen und anzuzeigen.
  • Aktualisieren des Listenelements: Er aktualisiert das Feld “Zugeordnet” in der Dokumentliste mit den ausgewählten Aufgaben und stellt so die Synchronisation zwischen der Benutzeroberfläche und dem Listenelement sicher.

Zusätzliche Hinweise

  • Das bereitgestellte Beispiel ist recht einfach: Es ist wichtig zu beachten, dass es keine umfassende Fehlerbehandlung enthält und nicht für den produktiven Einsatz gedacht ist. Überlegen Sie, es für eine bessere Benutzerfreundlichkeit zu erweitern.
  • Sie werden feststellen, dass, wenn Sie die Zeile mlf.Value = listitem["Zugeordnet"]; auskommentieren, die Benutzeroberfläche möglicherweise nicht korrekt mit den zugrunde liegenden Daten synchronisiert wird, weshalb diese Zeile für die ordnungsgemäße Funktionalität notwendig ist.

Fazit

Indem Sie die oben skizzierten Schritte befolgen, können Sie das MultipleLookupField-Steuerelement erfolgreich in Ihre SharePoint-Site integrieren. Dies ermöglicht eine effiziente Verwaltung verwandter Elemente aus verschiedenen Listen und verbessert Ihr gesamtes SharePoint-Erlebnis. Mit ein wenig Übung und Verfeinerung können Sie diese grundlegenden Prinzipien in leistungsstarke Lösungen umsetzen, die auf Ihre spezifischen Bedürfnisse zugeschnitten sind.

Fühlen Sie sich frei, Fragen zu stellen oder Ihre Erfahrungen mit dem MultipleLookupField-Steuerelement in SharePoint zu teilen!