SPFieldLookup.IsDependentLookup-Eigenschaft
Ruft einen booleschen Wert, der angibt, ob das Feld einen sekundären Nachschlagefelds, von denen ein Primärschlüsselfeld für die Beziehungen der Auswahlliste abhängt.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public ReadOnly Property IsDependentLookup As Boolean
Get
'Usage
Dim instance As SPFieldLookup
Dim value As Boolean
value = instance.IsDependentLookup
public bool IsDependentLookup { get; }
Eigenschaftswert
Typ: System.Boolean
true Wenn das Nachschlagefeld ein abhängiges Nachschlagefeld ist; andernfalls false.
Hinweise
Diese Eigenschaft truegibt, stellt das aktuelle SPFieldLookup -Objekt eine zweite Spalte bei mehreren der Spalte dar. In diesem Fall ist die Eigenschaft des Objekts PrimaryFieldId einen Wert, der die Zeichenfolgendarstellung einer GUID ist, die das Objekt identifiziert, das die primäre Spalte darstellt, von der die sekundäre Spalte für die Beziehung zu der Suchliste abhängig.
Beispiele
Im folgende Beispiel ist eine Konsolenanwendung, die Auflistung der Felder mit einer Liste, auf der Suche nach SPFieldLookup Objekte untersucht. Bei einer Auffinden bestimmt Code in der Anwendung, ob das Objekt eine primäre oder sekundäre Spalte darstellt. Wenn das Objekt eine zweite Spalte darstellt, verwendet der Code von der PrimaryFieldId -Eigenschaft zurückgegebenen Wert der Anzeigename der primären Spalte abgerufen.
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["Complete 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);
}
}
}
}
}
}
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
End If
End If
Next
End Using
End Using
Console.Write(vbLf & "Press ENTER to continue...")
Console.ReadLine()
End Sub
End Module