SPFieldLookup.GetDependentLookupInternalNames - Méthode
Retourne les noms de tous les champs de recherche secondaire qui dépendent d'un champ de recherche principal internes.
Espace de noms : Microsoft.SharePoint
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Function GetDependentLookupInternalNames As List(Of String)
'Utilisation
Dim instance As SPFieldLookup
Dim returnValue As List(Of String)
returnValue = instance.GetDependentLookupInternalNames()
public List<string> GetDependentLookupInternalNames()
Valeur renvoyée
Type : System.Collections.Generic.List<String>
Le nom interne des recherches dépendants sous la forme d'une liste de chaînes. S'il n'y a aucun champ de recherche dépendant, la liste retournée n'a aucun élément (la propriété Count retourne 0).
Remarques
Un objet SPFieldLookup représente la colonne primaire dans une relation de la liste si la propriété IsRelationship renvoie true. Un objet SPFieldLookup représente une colonne secondaire dans une relation de la liste si la propriété IsDependentLookup renvoie true.
Exemples
L'exemple suivant est une application console qui énumère la collection de champs de la liste, recherchez les champs qui représentent la colonne primaire dans une relation de la liste. Pour chaque colonne principale que l'application trouve, elle répertorie toutes les colonnes secondaires qui en dépendent.
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