Freigeben über


SPFieldLookup.GetDependentLookupInternalNames-Methode

Gibt die internen Namen der alle sekundären Suchfelder ein primäres Nachschlagefeld abhängig sind.

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

Syntax

'Declaration
Public Function GetDependentLookupInternalNames As List(Of String)
'Usage
Dim instance As SPFieldLookup
Dim returnValue As List(Of String)

returnValue = instance.GetDependentLookupInternalNames()
public List<string> GetDependentLookupInternalNames()

Rückgabewert

Typ: System.Collections.Generic.List<String>
Die internen Namen der abhängige Nachschlagevorgänge als eine Liste von Zeichenfolgen. Wenn keine abhängige Nachschlagefelder vorhanden sind, hat die Liste, die zurückgegeben wird 0 (null) Elementen (die Count -Eigenschaft gibt 0).

Hinweise

Ein SPFieldLookup -Objekt repräsentiert die primäre Spalte in einer Liste-Beziehung, wenn die IsRelationship -Eigenschaft gibt truezurück. Ein SPFieldLookup -Objekt repräsentiert eine zweite Spalte in einer Liste-Beziehung, wenn die IsDependentLookup -Eigenschaft gibt truezurück.

Beispiele

Im folgende Beispiel ist eine Konsolenanwendung, die eine Liste, die auf der Suche nach Feldern, die die primäre Spalte in einer Liste Beziehung darstellen die Fields-Auflistung auflistet. Für jede primäre Spalte, die die Anwendung findet, listet es alle sekundären Spalten, die davon abhängen.

using System;
using System.Collections.Generic;
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["Addresses"];

                    foreach (SPField field in list.Fields)
                    {
                        SPFieldLookup lookupField = field as SPFieldLookup;
                        if (lookupField != null && lookupField.IsRelationship)
                        {
                            // Print the display name of the field.
                            Console.WriteLine("\nPrimary column: {0}", lookupField.Title);

                            // Get any dependent fields.
                            List<string> internalNames = lookupField.GetDependentLookupInternalNames();

                            // Convert internal names to display names.
                            string[] displayNames = new string[internalNames.Count];
                            if (internalNames.Count == 0)
                            {
                                displayNames[0] = "No secondary columns.";
                            }
                            else
                            {
                                for (int i = 0; i < internalNames.Count; i++)
                                    displayNames[i] = list.Fields.GetFieldByInternalName(internalNames[i]).Title;

                                // Print the display names.
                                Console.Write("Secondary columns: ");
                                Console.WriteLine(string.Join(", ", displayNames));
                            }
                        }
                    }
                }
            }
            Console.Write("\nPress ENTER to continue...");
            Console.ReadLine();
        }
    }
}
Imports System
Imports System.Collections.Generic
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("Addresses")

                For Each field As SPField In list.Fields
                    Dim lookupField As SPFieldLookup = TryCast(field, SPFieldLookup)
                    If lookupField IsNot Nothing AndAlso lookupField.IsRelationship Then
                        ' Print the display name of the field.
                        Console.WriteLine(vbLf & "Primary column: {0}", lookupField.Title)

                        ' Get any dependent fields.
                        Dim internalNames As List(Of String) = lookupField.GetDependentLookupInternalNames()

                        ' Convert internal names to display names.
                        Dim displayNames As String() = New String(internalNames.Count) {}
                        If internalNames.Count = 0 Then
                            displayNames(0) = "No secondary columns."
                        Else
                            Dim i As Integer = 0
                            While i < internalNames.Count
                                displayNames(i) = list.Fields.GetFieldByInternalName(internalNames(i)).Title
                                i = i + 1
                            End While

                            ' Print the display names.
                            Console.Write("Secondary columns: | ")
                            Console.WriteLine(String.Join(" | ", displayNames))
                        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

IsRelationship

IsDependentLookup