我有一个字段,它使用计算的列类型来引用ID字段。它基本上是这样的:姓名和ID。例如。 Name01,Name02,Name03等。
但是,当我向sharepoint添加新行时,此列不会自动更新,我必须手动点击该字段进行更新。
有解决方法吗?感谢
答案 0 :(得分:1)
我也看到了这种行为,并且它并不明显,因为当你第一次创建列时(每次编辑列时)一切看起来都很好看。
我发现使用SharePoint Designer工作流程可以解决此问题。工作流更新普通文本字段以存储ID值,然后计算列可以引用该文本字段而不是实际ID字段。
步骤:
然后我只需要在我计算的列中引用[ItemID]而不是[ID],它就像魅力一样。
一个缺点是用户最终会在“新建”和“编辑”表单上看到ItemID字段,除非您执行某些操作来隐藏它。
如果您有更多时间在手上并希望避免发送工作流历史记录列表,则可以在事件处理程序中执行相同的解决方法。
答案 1 :(得分:0)
这是设计的。
计算列不能在其表达式中包含ID字段。原因是sharepoint在创建/更新时存储计算字段的结果值。创建项目后,ID尚不存在。因此它没有什么可以反对的。但是,一旦更新了值,您就可以看到ID已填充并且现在可用。