SharePoint 的计算列中的列取消引用

columns dereferencing in SharePoint's calculated column

我想使用简单的公式:

="FIX_" & [ID]

当我确认计算函数时,此公式出现问题,公式似乎还原为:

="FIX_" & ID

现在的问题是这些不再引用 [ID] 列,所以结果 returns

"FIX_"

所有记录。这对输入的第一条记录有效,但任何其他后续条目都会显示此错误。

这是一个已知问题吗?

[ ] 符号与它无关。只有当字段名包含空格时才需要 [ ]。如您所见,SharePoint 会在保存时删除那些 [ ]。

为什么 ID 没有被列为公式的可用字段

您可以在计算列中使用 ID,因为在第一次创建项目时,计算列公式在之前处理项目写入数据库并获取其ID。

因此新创建的项目ID为0

当项目为 changed/updated 时,ID 被正确填充并在公式中使用正确的值。

Work-around 是创建一个工作流(在项目创建后运行)获取 ID 并将其写入另一个字段,并在您的公式中使用它

或者让工作流更改任何字段中的其他内容,以便强制更新项目;阅读标题并将其写回同一字段即可。

所以您只想在 VIEW 中显示 link。

然后您可以在计算列中使用 HTML/JavaScvript 从 HTML TR table 行中提取正确的 ID 并创建 href 属性。

创建一个计算列,并且将数据类型设置为数字!

粘贴公式(按原样,包括 & 字符,换行符将被忽略):

="<div ""style=text-align:left""><a><img src=""/_layouts/images/blank.gif"" onload=""{"
&"var row=this;while(row.tagName!='TR'){row=row.parentNode;}"
&"var ID=row.id.split(',')[1];"
&"this.parentNode.href='v://database//FIX_'+ID;"
&"}"">database folder</a></div>"

注意:添加外部 div 是因为数字列右对齐。

这只适用于 VIEWS!不在 FORMS 上!