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