我的查找列显示项目,但创建时显示空白值

时间:2009-08-25 18:04:48

标签: sharepoint

我有一个名为“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

有人可以解释为什么会这样吗?

1 个答案:

答案 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();
    }
  }
}