Freigeben über


SPFieldCollection.AddLookup-Methode (String, Guid, Boolean)

Wird ein Suchfeld in der Auflistung der Felder für eine Liste, verweist auf ein Feld in der Auflistung für eine andere Liste in derselben Website erstellt.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public Function AddLookup ( _
    displayName As String, _
    lookupListId As Guid, _
    bRequired As Boolean _
) As String
'Usage
Dim instance As SPFieldCollection
Dim displayName As String
Dim lookupListId As Guid
Dim bRequired As Boolean
Dim returnValue As String

returnValue = instance.AddLookup(displayName, _
    lookupListId, bRequired)
public string AddLookup(
    string displayName,
    Guid lookupListId,
    bool bRequired
)

Parameter

  • displayName
    Typ: System.String

    Eine Zeichenfolge, die den Anzeigenamen des Felds angibt.

  • lookupListId
    Typ: System.Guid

    Eine GUID, die die Zielliste für das Nachschlagefeld angibt.

  • bRequired
    Typ: System.Boolean

    true , um festzulegen, dass das Feld Werte enthalten; andernfalls false.

Rückgabewert

Typ: System.String
Eine Zeichenfolge, die den internen Namen enthält, der für das Feld verwendet wird. Sie können das neue Feld übergeben dieses Werts an die GetFieldByInternalName(String) -Methode abrufen. Das Feld, das zurückgegeben wird ist vom Typ SPFieldLookup.

Hinweise

Diese Methode erstellt ein Feld vom Typ SPFieldLookup in der aktuellen Liste Sammlung von Feldern. Ein Nachschlagefeld in einer einzigen Liste übernimmt seinen Wert aus einem Feld in einer anderen Liste die Zielliste in der lookupListId -Parameter angegeben. Nach dem Hinzufügen eines Nachschlagefelds zu der Auflistung sollten Sie aus der Auflistung abrufen und dann das Quellfeld in der Zielliste identifizieren, indem Sie die LookupField -Eigenschaft.

Die Zielliste, die Quelle für das Nachschlagefeld Wert beachtet das Nachschlagefeld; Das heißt, erkennen Sie das Nachschlagefeld durch die Objekte in der Auflistung der Zielliste GetRelatedFields() -Methode zurückgegebene untersuchen.

Der aktuelle Benutzer muss SPBasePermissionshaben.ManageLists -Berechtigung für die Zielliste, wenn Sie diese Methode aufrufen.

Beispiele

Im folgende Beispiel ist eine Konsolenanwendung, die die Auflistung der Felder der Liste der ausstehenden Bestellungen zugeordnet und fügt ein Lookup-Feld mit dem Namen Kunden-ID-ID-Feld in der Liste Debitoren verweist. Der Code erstellt dann ein sekundärer Feld, das das Feld Kunden-ID für die Beziehung zu der Liste der Kunden abhängt.

using System;
using Microsoft.SharePoint;

namespace RelatedLists
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SPSite siteCollection = new SPSite("https://localhost"))
            {
                using (SPWeb site = siteCollection.OpenWeb())
                {
                    SPList sourceList = site.Lists["Customers"];
                    SPList dependentList = site.Lists["Pending Orders"];

                    string strPrimaryCol = dependentList.Fields.AddLookup("Customer ID", sourceList.ID, true);
                    SPFieldLookup primaryCol = (SPFieldLookup)dependentList.Fields.GetFieldByInternalName(strPrimaryCol);
                    primaryCol.LookupField = sourceList.Fields["ID"].InternalName;
                    primaryCol.Indexed = true;
                    primaryCol.RelationshipDeleteBehavior = SPRelationshipDeleteBehavior.Restrict;
                    primaryCol.Update();

                    string strSecondaryCol = dependentList.Fields.AddDependentLookup("Last Name", primaryCol.Id);
                    SPFieldLookup secondaryCol = (SPFieldLookup)dependentList.Fields.GetFieldByInternalName(strSecondaryCol);
                    secondaryCol.LookupField = sourceList.Fields["Last Name"].InternalName;
                    secondaryCol.Update();
                }
            }
            Console.Write("\nPress ENTER to continue...");
            Console.ReadLine();
        }
    }
}
Imports System
Imports Microsoft.SharePoint

Namespace RelatedLists
    Class Program
        Shared Sub Main(ByVal args As String())
            Using siteCollection As New SPSite("https://localhost")
                Using site As SPWeb = siteCollection.OpenWeb()
                    Dim sourceList As SPList = site.Lists("Customers")
                    Dim dependentList As SPList = site.Lists("Pending Orders")

                    Dim strPrimaryCol As String = dependentList.Fields.AddLookup("Customer ID", sourceList.ID, True)
                    Dim primaryCol As SPFieldLookup = DirectCast(dependentList.Fields.GetFieldByInternalName(strPrimaryCol), SPFieldLookup)
                    primaryCol.LookupField = sourceList.Fields("ID").InternalName
                    primaryCol.Indexed = True
                    primaryCol.RelationshipDeleteBehavior = SPRelationshipDeleteBehavior.Restrict
                    primaryCol.Update()

                    Dim strSecondaryCol As String = dependentList.Fields.AddDependentLookup("Last Name", primaryCol.Id)
                    Dim secondaryCol As SPFieldLookup = DirectCast(dependentList.Fields.GetFieldByInternalName(strSecondaryCol), SPFieldLookup)
                    secondaryCol.LookupField = sourceList.Fields("Last Name").InternalName
                    secondaryCol.Update()
                End Using
            End Using
            Console.Write(vbLf & "Press ENTER to continue...")
            Console.ReadLine()
        End Sub
    End Class
End Namespace

Siehe auch

Referenz

SPFieldCollection Klasse

SPFieldCollection-Member

AddLookup-Überladung

Microsoft.SharePoint-Namespace

SPFieldLookup

LookupField

GetFieldByInternalName(String)

AddDependentLookup(String, Guid)

GetRelatedFields()