de la propiedad SPFieldLookup.LookupField
Obtiene o establece el nombre interno del campo en una lista relacionada que es el origen del valor de este campo.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
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; }
Valor de propiedad
Tipo: System.String
Una cadena que contiene el nombre interno del campo.
Comentarios
Después de agregar un campo de búsqueda a la colección de una lista llamando al método AddLookup , debe recuperar el campo de búsqueda de la colección e identificar el campo de origen en la lista destino estableciendo la propiedad LookupField . Cuando se establece la propiedad LookupField debe llamar al método de Update para que los cambios surtan efecto en la base de datos.
El destino de la propiedad LookupField debe ser uno de los siguientes tipos de campo:
SPFieldType.Counter
SPFieldType.DateTime
SPFieldType.Number
SPFieldType.Text
Además, SPFieldType.Computed se permite como destino si están habilitadas las búsquedas. Para obtener más información, vea la propiedad EnableLookup de la clase SPFieldComputed . El tipo de campo de SPFieldType.Calculated puede ser un destino si el resultado es texto. Para obtener más información, vea la propiedad OutputType de la clase SPFieldCalculated .
Ejemplos
El ejemplo siguiente es una aplicación de consola que crea una relación entre la lista Customers y la lista de Pending Orders. La aplicación llama al método AddLookup para agregar un campo de búsqueda llamado Customer ID a la lista Pending Orders y apunta el campo al campo ID de la lista Customers. El nuevo campo Customer ID se indiza y se establece para que restrinja los elementos eliminados de la lista de búsqueda.
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