2011-08-30 87 views
4

爲外部數據類型列強制唯一值 - 我知道它不可能立即可用。驗證重複項的外部數據類型列是什麼?工作流程?其他?爲SharePoint中的外部數據類型列強制唯一值

+0

外部數據類型來自經由SQL服務器。用戶可以將項目添加到通過某個密鑰的共享點列表。該鍵鏈接到來自外部數據列的其他字段。 Sharepoint不應接受具有重複密鑰的元素。 – marcinn

回答

0

好吧,外部列表不能有工作流或事件接收器來驗證數據,所以在SharePoint中這樣做實際上會非常複雜。我的意見是,你應該在將數據導入到SP之前驗證你的數據。如果你的數據源是一個數據庫,然後添加一個約束,如果它是一個Web服務,那麼外部系統應該強制唯一,如果它是一個自定義的外部內容類型,你可以通過代碼強制執行它。

+0

我有簡單的自定義列表。該列表具有帶有某個數字的外部列(這是一些鍵)。我的外部數據源 - sql server有一個包含主鍵的表。該主鍵用於將自定義列表條目與來自外部的一些數據連接起來。 – marcinn

0

儘管在MS文檔中似乎沒有提到它,但您可以使用PowerShell強制實施「外部數據」類型的唯一性。我剛剛嘗試了下面的示例,它適用於SP2013農場。

https://msdn.microsoft.com/en-us/library/office/ee536168%28v=office.14%29.aspx?f=255&MSPPError=-2147217396

從Office例DEV中心

SPSite site = new SPSite("http://localhost"); 
SPWeb web = site.OpenWeb(); 

SPList custList = web.Lists["Customers"]; 
SPField custPhone = custList.Fields["Phone Number"]; 

custPhone.Indexed = true; 
custPhone.EnforceUniqueValues = true; 

/// You must call the Update() method 
/// when you change the EnforceUniqueValues property 
custPhone.Update(); 
相關問題