SPFieldLookup.LookupField property
Obtém ou define o nome interno do campo em uma lista relacionada é a origem do valor do campo.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Property LookupField As String
Get
Set
'Uso
Dim instance As SPFieldLookup
Dim value As String
value = instance.LookupField
instance.LookupField = value
public string LookupField { get; set; }
Property value
Type: System.String
Uma seqüência de caracteres que contém o nome interno do campo.
Comentários
Depois de adicionar um campo de pesquisa à coleção da lista, chamando o método AddLookup , você deve recuperar o campo de pesquisa da coleção e identificar o campo de origem na lista target, definindo a propriedade LookupField . Quando você definir a propriedade LookupField , você deve chamar o método Update para que as alterações tenham efeito no banco de dados.
O destino da propriedade LookupField deve ser um dos seguintes tipos de campo:
SPFieldType.Counter
SPFieldType.DateTime
SPFieldType.Number
SPFieldType.Text
Além disso, SPFieldType.Computed é permitido como um destino se pesquisas estiverem ativadas. Para obter mais informações, consulte a propriedade EnableLookup da classe SPFieldComputed . O tipo de campo de SPFieldType.Calculated pode ser um destino, se a saída de texto. Para obter mais informações, consulte a propriedade OutputType da classe SPFieldCalculated .
Examples
O exemplo a seguir é um aplicativo de console que cria uma relação entre a lista de clientes e a lista de pedidos pendentes. O aplicativo chama o método AddLookup para adicionar um campo de pesquisa chamado ID de cliente à lista de pedidos pendentes e aponta o campo no campo ID da lista de clientes. O novo campo de identificação do cliente é indexado e definido para restringir as exclusões da lista de pesquisa.
using System;
using Microsoft.SharePoint;
namespace RelatedLists
{
class Program
{
static void Main(string[] args)
{
using (SPSite siteCollection = new SPSite("https://localhost"))
{
using (SPWeb site = siteCollection.OpenWeb())
{
SPList lookupList = site.Lists.TryGetList("Customers");
SPList relatedList = site.Lists.TryGetList("Pending Orders");
if (lookupList != null && relatedList != null)
{
string strPrimaryCol = relatedList.Fields.AddLookup("Customer ID", lookupList.ID, true);
SPFieldLookup primaryCol = (SPFieldLookup)relatedList.Fields.GetFieldByInternalName(strPrimaryCol);
primaryCol.LookupField = lookupList.Fields["ID"].InternalName;
primaryCol.Indexed = true;
primaryCol.RelationshipDeleteBehavior = SPRelationshipDeleteBehavior.Restrict;
primaryCol.Update();
}
}
}
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 lookupList As SPList = site.Lists.TryGetList("Customers")
Dim relatedList As SPList = site.Lists.TryGetList("Pending Orders")
If lookupList IsNot Nothing AndAlso relatedList IsNot Nothing Then
Dim strPrimaryCol As String = relatedList.Fields.AddLookup("Customer ID", lookupList.ID, True)
Dim primaryCol As SPFieldLookup = _
DirectCast(relatedList.Fields.GetFieldByInternalName(strPrimaryCol), SPFieldLookup)
primaryCol.LookupField = lookupList.Fields("ID").InternalName
primaryCol.Indexed = True
primaryCol.RelationshipDeleteBehavior = SPRelationshipDeleteBehavior.Restrict
primaryCol.Update()
End If
End Using
End Using
Console.Write(vbLf & "Press ENTER to continue...")
Console.ReadLine()
End Sub
End Module