Freigeben über


SPFieldLookup.LookupList-Eigenschaft

Ruft die Zeichenfolgendarstellung der GUID, die die Liste enthält, die die Quelle der Wert dieses Felds ist fest.

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

Syntax

'Declaration
Public Property LookupList As String
    Get
    Set
'Usage
Dim instance As SPFieldLookup
Dim value As String

value = instance.LookupList

instance.LookupList = value
public string LookupList { get; set; }

Eigenschaftswert

Typ: System.String
Die Zeichenfolgendarstellung der GUID, die die Liste enthält, die die Quelle der Informationen für das Feld. Eine leere Zeichenfolge wird zurückgegeben, wenn das Feld nicht in eine Liste.

Ausnahmen

Ausnahme Bedingung
SPException

Die Eigenschaft wurde bereits festgelegt. Nach dem Festlegen der Eigenschaft LookupList , können Sie die Nachschlageliste nicht ändern.

Hinweise

Diese Eigenschaft gibt die Zeichenfolgendarstellung der Quellliste ID -Eigenschaft. Die LookupList -Eigenschaft wird automatisch festgelegt, wenn Sie ein SPFieldLookup -Objekt erstellen durch Aufrufen der AddLookup oder AddDependentLookup -Methode des SPFieldCollection -Objekts, das dieser Sammlung von Feldern für die Liste darstellt, in dem Sie das Nachschlagefeld hinzufügen möchten.

Wichtig

Wenn ein Nachschlagefeld eingerichtet ist, kann die Zielliste geändert werden.

Beispiele

Im folgende Beispiel ist eine Konsolenanwendung, die eine Liste, die auf der Suche nach Feldern des Typs SPFieldLookupzugeordneten Felder auflistet. Wenn ein Feld dieses Typs gefunden wird, verwendet die Anwendung den Wert der LookupList -Eigenschaft einen Verweis auf die Liste abgerufen, die die Lookup-Feld zeigt auf und dann auf den Wert der LookupField -Eigenschaft auf das Feld im Ziel erhalten auf, die das Nachschlagefeld zeigt.

using System;
using Microsoft.SharePoint;

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

                    foreach (SPField item in list.Fields)
                    {
                        if (item is SPFieldLookup)
                        {
                            SPFieldLookup field = (SPFieldLookup)item;

                            if (!String.IsNullOrEmpty(field.LookupList) && !String.IsNullOrEmpty(field.LookupField))
                            {
                                // Is this the primary or secondary field for a list relationship?
                                string strRelationship = field.IsRelationship ? "Primary":"Secondary";

                                // Print the display name of the field.
                                Console.WriteLine("\nField: {0} ({1} Field)", field.Title, strRelationship);

                                // Is this a secondary field in a list relationship?
                                if (field.IsDependentLookup)
                                {
                                    SPField primaryField = list.Fields[new Guid(field.PrimaryFieldId)];
                                    Console.WriteLine("Primary Field: {0}", primaryField.Title);
                                }

                                // Get the site where the target list is located.
                                using (SPWeb targetSite = siteCollection.AllWebs[field.LookupWebId])
                                {
                                    // Get the name of the list where this field gets information.
                                    SPList targetList = targetSite.Lists[new Guid(field.LookupList)];
                                    Console.WriteLine("Related list: {0}", targetList.Title);

                                    // Get the name of the field where this field gets information.
                                    SPField targetField = targetList.Fields.GetFieldByInternalName(field.LookupField);
                                    Console.WriteLine("Related field: {0}", targetField.Title);
                                }
                            }
                        }
                    }
                }
            }
            Console.Write("\nPress ENTER to continue...");
            Console.ReadLine();
        }
    }
}
Imports System
Imports Microsoft.SharePoint

Module ConsoleApp

    Sub Main()
        Using siteCollection As New SPSite("https://localhost")
            Using site As SPWeb = siteCollection.OpenWeb()
                Dim list As SPList = site.Lists("Pending Orders")

                For Each item As SPField In list.Fields
                    If TypeOf item Is SPFieldLookup Then
                        Dim field As SPFieldLookup = DirectCast(item, SPFieldLookup)

                        If Not String.IsNullOrEmpty(field.LookupList) AndAlso Not String.IsNullOrEmpty(field.LookupField) Then
                            ' Is this the primary or secondary field for a list relationship?
                            Dim strRelationship As String = If(field.IsRelationship, "Primary", "Secondary")

                            ' Print the display name of the field.
                            Console.WriteLine(vbLf & "Field: {0} ({1} Field)", field.Title, strRelationship)

                            ' Is this a secondary field in a list relationship?
                            If field.IsDependentLookup Then
                                Dim primaryField As SPField = list.Fields(New Guid(field.PrimaryFieldId))
                                Console.WriteLine("Primary Field: {0}", primaryField.Title)
                            End If

                            ' Get the site where the target list is located.
                            Using targetSite As SPWeb = siteCollection.AllWebs(field.LookupWebId)
                                ' Get the name of the list where this field gets information.
                                Dim targetList As SPList = targetSite.Lists(New Guid(field.LookupList))
                                Console.WriteLine("Related list: {0}", targetList.Title)

                                ' Get the name of the field where this field gets information.
                                Dim targetField As SPField = targetList.Fields.GetFieldByInternalName(field.LookupField)
                                Console.WriteLine("Related field: {0}", targetField.Title)
                            End Using
                        End If
                    End If
                Next
            End Using
        End Using
        Console.Write(vbLf & "Press ENTER to continue...")
        Console.ReadLine()
    End Sub
End Module

Siehe auch

Referenz

SPFieldLookup Klasse

SPFieldLookup-Member

Microsoft.SharePoint-Namespace

LookupField

ID

AddLookup(String, Guid, Boolean)

AddDependentLookup(String, Guid)