Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint ID字段不存在';t自动更新_Sharepoint_Sharepoint Designer - Fatal编程技术网

Sharepoint ID字段不存在';t自动更新

Sharepoint ID字段不存在';t自动更新,sharepoint,sharepoint-designer,Sharepoint,Sharepoint Designer,我有一个字段,它使用计算列类型引用ID字段。基本上是这样的:名称和ID。例如Name01、Name02、Name03等 但是,当我向sharepoint添加新行时,此列不会自动更新,我必须手动单击该字段以更新它 有办法解决这个问题吗?谢谢这是精心设计的 计算列的表达式中不能包含ID字段。原因是sharepoint在创建/更新时存储计算字段的结果值。一旦项目被创建,ID就不存在了。因此,它没有什么可反对的。但是,一旦更新了该值,就可以看到该ID已填充且现在可用 我也看到过这种行为,但并不明显,因为

我有一个字段,它使用计算列类型引用ID字段。基本上是这样的:名称和ID。例如Name01、Name02、Name03等

但是,当我向sharepoint添加新行时,此列不会自动更新,我必须手动单击该字段以更新它

有办法解决这个问题吗?谢谢

这是精心设计的


计算列的表达式中不能包含ID字段。原因是sharepoint在创建/更新时存储计算字段的结果值。一旦项目被创建,ID就不存在了。因此,它没有什么可反对的。但是,一旦更新了该值,就可以看到该ID已填充且现在可用

我也看到过这种行为,但并不明显,因为当你第一次创建专栏(每次编辑专栏)时,一切看起来都很好

我发现我可以使用SharePoint Designer工作流解决此问题。工作流将更新普通文本字段以存储ID值,然后计算列可以引用该文本字段而不是实际ID字段

步骤如下:

  • 在我的列表中添加一个名为ItemID的文本字段
  • 在SharePoint Designer中,将新工作流添加到列表中,并将其设置为在添加或更新项目时触发
  • 添加工作流操作以将项目的ID存储到字符串中(生成动态字符串)
  • 添加工作流操作以将ItemID字段设置为我在上一步中保存的值(在当前项目中设置字段)
  • 添加工作流操作以更新当前项(更新列表项)
  • 然后我只需要在计算列中引用[ItemID],而不是[ID],它就像一个符咒

    一个缺点是,用户最终会在新表单和编辑表单上看到ItemID字段,除非您做些什么来隐藏它


    如果您手头有更多的时间,并且希望避免垃圾邮件发送工作流历史记录列表,您可以在事件处理程序中执行相同的解决方法。

    谢谢Brian,尽管您是对的,但只要我编辑该行中的另一个字段,就会填充ID字段,ID字段消失,我只剩下“名称”而不是ID中的数字。每次我编辑行时都会发生这种情况。这可能是由于版本控制的原因,是否在此列表中启用了版本控制?为了解决这个问题,在过去我必须实现一个工作流或事件接收器来更新持久值。