Поделиться через


Свойство SPFieldLookup.LookupField

Получает или задает внутреннее имя поля в связанный список, который является источником значения данного поля.

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public Property LookupField As String
    Get
    Set
'Применение
Dim instance As SPFieldLookup
Dim value As String

value = instance.LookupField

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

Значение свойства

Тип: System.String
Строка, содержащая внутреннее имя поля.

Замечания

После добавления поля подстановки коллекции списка путем вызова метода AddLookup можно извлечь поле подстановки из коллекции и определить исходное поле в конечном списке свойства LookupField . При установке свойства LookupField необходимо вызвать метод Update , чтобы изменения вступили в силу в базе данных.

Целью свойства LookupField должен быть один из следующих типов полей:

  • SPFieldType.Counter

  • SPFieldType.DateTime

  • SPFieldType.Number

  • SPFieldType.Text

Кроме того SPFieldType.Computed может использоваться как целевой объект, если включены просмотров. Свойство EnableLookup класса SPFieldComputed получения дополнительных сведений см. Тип поля SPFieldType.Calculated может быть целевой объект, если выходные данные — это текст. Свойство OutputType класса SPFieldCalculated получения дополнительных сведений см.

Примеры

В следующем примере показано консольное приложение, которое создает отношение между списками Customers (Клиенты) и Pending Orders (Отложенные заказы). Приложение вызывает метод AddLookup, чтобы добавить поле подстановки Customer ID (ИД клиента) в список Pending Orders (Отложенные заказы), и указывает поле ID (ИД) в списке Customers (Клиенты). Новое поле Customer ID (ИД клиента) является индексированным и для него заданы ограничения на удаление из списка подстановки.

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

См. также

Справочные материалы

SPFieldLookup класс

Элементы SPFieldLookup

Пространство имен Microsoft.SharePoint

FieldId

LookupList

LookupWebId