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