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.StringEine Zeichenfolge, die den Anzeigenamen des Felds angibt.
lookupListId
Typ: System.GuidEine GUID, die die Zielliste für das Nachschlagefeld angibt.
bRequired
Typ: System.Booleantrue , 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
Microsoft.SharePoint-Namespace
GetFieldByInternalName(String)