2012-09-24 52 views
5

嗨我有兩個列表在SharePoint 2007中。 我有一個查找列在列表中看起來另一個領域。 我想使用Sharepoint對象模型將項目添加到第二個列表。 如何設置查找字段值。 (該值已經在另一個列表中)。如何將值添加到SharePoint中的查找字段?

SPListItem Employee = web.Lists["Employee"].Items.Add(); 
Employee["Name"] = account.Name; 
Employee["Department"] = <lookup value must come here> 
Employee.Update();     
+0

這也很有幫助[get和set一個SharePoint查閱字段值使用SSOM C#](https://social.technet.microsoft.com/wiki/contents/ articles/40271.get-and-set-a-sharepoint-lookup-field-values-using-ssom-c.aspx) –

回答

3

查閱字段將包含行的ID的組合和列中顯示的值,:#分開,你的情況可能是1:#HumanResources12:#Engineering

所以引用一個查找簡單地設置id是不夠的,而是需要設置上面提到的字符串。幸運的是SharePoint提供,做類SPFieldLookupValue正是這一點:

var department = web.Lists["Department"].GetItemById(1); 
var employee = web.Lists["Employee"].Items.Add(); 
employee["Name"] = account.Name; 
employee["Department"] = new SPFieldLookupValue(department.ID, department.Title); 
employee.Update(); 
+0

這看起來沒有必要。如果在設置後檢查員工[「部門」]的值,則只需設置爲「1」。如果我只是僱員[「部門」] =「1」; employee.Update();它工作正常。 – xr280xr

+0

@ xr280xr,介意我們正在談論_SharePoint 2007_這裏... – Spontifixus

+0

是的,這裏也一樣。 – xr280xr

相關問題