【问题标题】:columns dereferencing in SharePoint's calculated columnSharePoint 计算列中的列取消引用
【发布时间】:2015-05-13 05:35:44
【问题描述】:

我想用简单的公式:

="FIX_" & [ID]

当我确认计算函数时,会出现此公式的问题,公式似乎恢复为:

="FIX_" & ID

现在的问题是这些不再引用 [ID] 列,因此结果返回

"FIX_"

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

这是一个已知问题吗?

【问题讨论】:

  • 您能否将您的问题标记为已回答...它一直在未回答列表中弹出;让 StackOverflow 保持结构化,tnx
  • 你好 Danny Engelman,我很抱歉忘记将其标记为已回答,现已更正

标签: sharepoint-2010 sharepoint-webservice


【解决方案1】:

[ ] 表示法与它无关。[ ] 仅在字段名包含空格时才需要。根据您的经验,SharePoint 将在保存时删除那些 [ ]。

为什么 ID 未列为公式的可用字段

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

因此,新创建的项目的 ID 为 0

当更改/更新项目时,ID 被正确填充并与公式中的正确值一起使用。

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

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

【讨论】:

  • 感谢您提供此信息,但不幸的是,我无法做到这一点,因为我们没有 sharepoint 设计器,仅使用 Sharepoint 网络端的不良功能。这意味着我们无法创建工作流程,而我们所拥有的工作流程与批准有关。我能想到的最后一个解决方案是在页面加载时使用 Javascript。我们想要这样做的原因是因为每条记录都应该有一个文件夹,其位置类似于...“V://database/FIX_[ID]”不幸的是,这意味着我们需要更新记录或手动在每个记录中键入时间
  • 您想在视图中显示它吗?您可以在计算列中填充 Javascript。请参阅ViewMaster365.com/#/How 在 Create Your Own 部分中,有一些关于如何获取 ID 的示例。然后您可以使用 javascript 代码构建链接并将其显示在视图中
  • 是的,之所以在视图中看到它,是因为可以轻松访问与该记录相关的文件夹,我会看看这个!谢谢!
【解决方案2】:

所以您只想在 VIEW 中显示链接。

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

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

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

="<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 是因为 Number 列向右对齐。

这仅适用于 VIEWS!不在表格上!

【讨论】:

  • 嗨,丹尼,在花了大约一个小时摆弄之后,我想我找到了一个解决方案,而且这很有效!一些关键的事情要注意,以防有人来这里......丹尼在计算的字符串中包含了中断(&“在行首”。我不知道为什么所以我删除了它们,但这是错误的!你需要它们来防止字符串太长,但是您可以将许多字符串连接在一起。此外,此公式可能无法按原样工作,您需要了解一些 javascript 和 html DOM 遍历才能正确执行此操作,但并不难。
  • 是的,您只能在 SharePoint 字符串“xyz”中放置 255 个字符,并且您必须使用 CONCATENATE 函数或 & 速记来连接它们。整个计算列中的字符总数不能超过 4000 个字符...请注意,这包括您引用的其他列中的所有内容,因此如果您有 2 列 2001 个字符,则不能将结果合并到第三列
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 2017-10-01
相关资源
最近更新 更多