Partager via


SPFieldLookup.LookupField - Propriété

Obtient ou définit le nom interne du champ dans une liste associée qui est la source de la valeur de ce champ.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Property LookupField As String
    Get
    Set
'Utilisation
Dim instance As SPFieldLookup
Dim value As String

value = instance.LookupField

instance.LookupField = value
public string LookupField { get; set; }

Valeur de propriété

Type : System.String
Chaîne qui contient le nom interne du champ.

Remarques

Après avoir ajouté un champ liste de choix à la collection d'une liste en appelant la méthode AddLookup , vous devez extraire le champ de recherche de la collection et d'identifier le champ de la source dans la liste cible en définissant la propriété LookupField . Lorsque vous définissez la propriété LookupField , vous devez appeler la méthode Update pour que les modifications soient prises en compte dans la base de données.

La cible de la propriété LookupField doit être l’un des types de champ suivants :

  • SPFieldType.Counter

  • SPFieldType.DateTime

  • SPFieldType.Number

  • SPFieldType.Text

En outre, SPFieldType.Computed est autorisé en tant que cible si les recherches sont activées. Pour plus d'informations, consultez la propriété EnableLookup de la classe SPFieldComputed . Le type de champ SPFieldType.Calculated peut être une cible si la sortie de texte. Pour plus d'informations, consultez la propriété OutputType de la classe SPFieldCalculated .

Exemples

L’exemple suivant est une application console qui crée une relation entre la liste Customers et la liste Pending Orders. L’application appelle la méthode AddLookup pour ajouter un champ de recherche nommé Customer ID (ID Client) à la liste Pending Orders et fait pointer le champ vers le champ ID de la liste Customers. Le nouveau champ Customer ID est indexé et défini pour limiter les suppressions dans la liste de recherche.

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

Voir aussi

Référence

SPFieldLookup classe

SPFieldLookup - Membres

Microsoft.SharePoint - Espace de noms

FieldId

LookupList

LookupWebId