您好我在sharepoint 2007中有两个列表。 我在列表中有一个查找列,它看起来是另一个字段。 我想使用sharepoint对象模型将项添加到第二个列表。 如何设置查找字段值。 (该值已在另一个列表中。)
SPListItem Employee = web.Lists["Employee"].Items.Add();
Employee["Name"] = account.Name;
Employee["Department"] = <lookup value must come here>
Employee.Update();
答案 0 :(得分:4)
查找字段将包含行的ID和要显示的列的值的组合,以:#
分隔,在您的情况下可以是1:#HumanResources
或12:#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();