我有一个名为“Projects”的列表,其中有一个名为“Job Number”的数字列, 我已将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 :(得分:0)
你需要调用你自己的项目的Update方法,而不是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();
}
}
}