Compartir a través de


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

Vea también

Referencia

clase SPFieldLookup

Miembros SPFieldLookup

Espacio de nombres Microsoft.SharePoint

FieldId

LookupList

LookupWebId