SPFieldLookup.LookupList property
Obtém ou define a representação de seqüência de caracteres do GUID que identifica a lista é a origem do valor do campo.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Property LookupList As String
Get
Set
'Uso
Dim instance As SPFieldLookup
Dim value As String
value = instance.LookupList
instance.LookupList = value
public string LookupList { get; set; }
Property value
Type: System.String
A representação de seqüência de caracteres do GUID que identifica a lista é a fonte de informações para o campo. Uma seqüência de caracteres vazia é retornada se o campo não faz referência a uma lista.
Exceptions
Exception | Condition |
---|---|
SPException | A propriedade já foi definida. Você não pode alterar a lista de pesquisa após a propriedade LookupList está definida. |
Comentários
Essa propriedade retorna a representação de seqüência de caracteres da propriedade de ID da lista de origem. A propriedade LookupList é definida automaticamente quando você cria um objeto SPFieldLookup , chamando o método AddLookup ou AddDependentLookup do objeto SPFieldCollection que representa a coleção de campo da lista de onde você deseja adicionar a coluna de pesquisa.
Importante
Depois que uma coluna de pesquisa for estabelecida, a lista de destino não pode ser alterada.
Examples
O exemplo a seguir é um aplicativo de console que enumera os campos associados a uma lista, procurando por campos do tipo SPFieldLookup. Quando ele encontra um campo desse tipo, o aplicativo usa o valor da propriedade LookupList para obter uma referência à lista que os pontos do campo de pesquisa para e, em seguida, o valor da propriedade LookupField para obter o campo de destino na lista que o campo pesquisa aponta para.
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
Ver também
Referência
Microsoft.SharePoint namespace