2009-08-25 20 views
1

我有一個名爲「項目」,其中有一個名爲「工作號碼」號碼列 我附加了一個ItemAdded事件處理程序作業號碼增加。我的查找欄顯示的項目,但創建時顯示空白值

在「項目」列表中,我創建了一個名爲「原始作業」的查找列,該列查找來自列「作業編號」的值。

當我點擊新項目時,我看到所有工作號碼的下拉值,但是當我選擇一個點擊創建項目時,沒有值,顯示爲空。

這裏是我的代碼:

SPList lookupList = currentSite.Lists["Projects"]; 
SPField lookupField = lookupList.Fields["Job Number"]; 
projectList.Fields.AddLookup("Original Job", lookupList.ID, false); 
SPFieldLookup lookup = (SPFieldLookup)projectList.Fields["Original Job"]; 
lookup.LookupField = lookupField.InternalName; 
lookup.Update(); 

這裏是一個圖像

http://pic100.picturetrail.com/VOL783/3746656/21927341/372654494.jpg

是否有人可以解釋爲什麼發生這種情況?

回答

0

你需要給你打電話是本身項目,而不是SPFieldLookup lookup 變量的更新方法,你的代碼應該是這樣的:

protected override ItemAdded(properties) 
{ 
    var item = web.Lists[properties.ListId].GetItemById(properties.ListItemId); 
    if (item != null) 
    { 
    if (item.Fields.ContainsField("Job Number")) 
    { 
     // get selectedValue from the original job?? 
     item["Job Number"] = selectedValue; 
     item.Update(); 
     //or item.SystemUpdate(); 
    } 
    } 
} 
+0

我的工作號是罰款。 我的查找列「原始作業」沒有顯示任何值。 原始作業被假定爲作業編號的查找列。 當我點擊創建項目時,我看到所有作業號碼的下拉列表,但只有當我點擊創建時,原始作業才顯示任何值。 – curiousUser