计算的SharePoint列

时间:2014-06-03 12:07:37

标签: sharepoint sharepoint-2010

我的SharePoint 2010列表中有一个简单的计算列。它采用列表项ID,为其添加100。

当我的用户在列表中创建项目时,除非我进入,编辑列(不执行任何操作)并保存,否则计算列不会更新。事实上,除非我手动编辑列,否则它会为所有项目赋值101。

这是典型的还是有解决这个问题的方法?

谢谢!

3 个答案:

答案 0 :(得分:1)

无法根据ID值创建计算列。在将项目添加到列表后,将创建项目的ID。

您应该使用工作流程。

答案 1 :(得分:1)

使用工作流程执行此操作(根据已接受的答案)的问题是工作流程可能需要相当长的时间才能执行。因此,在保存新项目之后,您无法创建ID,并且始终存在同时用户可能创建您还必须处理的ID冲突的危险。如果工作流程(如在繁忙的系统上)需要几分钟才能完成,您还可以在工作流程完成之前解决其他人编辑项目的问题,这可能会导致工作流程失败,导致项目没有任何ID。

作为替代方案,您可以考虑在NewItem.aspx页面中使用JavaScript从单独的列表中查找和递增计数器。请注意,如果您正在执行此操作,则必须在读取时更新计数器,以确保其他用户在同时创建条目时不会意外获取相同的ID。这意味着即使用户随后在未保存的情况下取消新项目,您也不必介意计数器递增。

答案 2 :(得分:0)

正如您在打开/保存项目时注意到的那样,每次更改项目时都会更新计算列。 是否有工作流程读取标题并写入(相同)标题? 应设置计算列中的[ID]参考。 那么不需要额外的LookupID列。