SPFieldLookup.LookupField property
取得或設定相關的清單做為此欄位的值的來源中欄位的內部名稱。
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
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; }
Property value
Type: System.String
字串,包含欄位的內部名稱。
備註
藉由呼叫AddLookup方法的串列集合新增查詢] 欄位之後,您應該從集合中擷取 [查詢] 欄位,並設定LookupField屬性來識別 [目標] 清單中的 [來源] 欄位。當您設定LookupField屬性必須呼叫Update方法,用於變更資料庫中才會生效。
LookupField屬性的目標必須是以下欄位類型其中一項:
SPFieldType.Counter
SPFieldType.DateTime
SPFieldType.Number
SPFieldType.Text
此外,將SPFieldType.Computed可以當成目標,如果您啟用對應。如需詳細資訊,請參閱SPFieldComputed類別的 [ EnableLookup ] 屬性。SPFieldType.Calculated欄位型別可以是目標,如果輸出的文字。如需詳細資訊,請參閱SPFieldCalculated類別的 [ OutputType ] 屬性。
Examples
下列範例是主控台應用程式,建立客戶清單和暫止的訂單清單之間的關係。應用程式呼叫AddLookup方法,以新增名客戶識別碼為暫止的訂單清單的查閱欄位,並指出在客戶清單上的 [識別碼] 欄位的欄位。新的 [客戶識別碼] 欄位是索引,而且設定限制從 [查詢] 清單刪除。
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