SharePoint:编辑列表项时计算的列值消失。有任何想法吗?
-
11-09-2019 - |
题
我在自定义 SharePoint 2007 列表中有一个计算列,其公式如下:
=CONCATENATE("IR-",[ID],"-",LEFT(UPPER([Title]),25))
如果在列表中创建了一个项目,则一切都很好,但是,当更新项目时,[ID] 列不再位于该项目的计算列中。
所以,在创作上:“IR-40-TheTitleIsHere”,但编辑后,它是“IR--TheTitleIsHere”。
任何人都知道为什么会发生这种情况?
解决方案
我确认上述行为。任何添加/编辑都会删除 [ID] 部分。如果您编辑列表中的列并更新公式,它将更新所有列表项以使其正确(直到您对该项目进行编辑)。
我发现 这篇文章提到了同样的问题.
听起来唯一的解决方案是使用 SharePoint Designer 创建一个简单的工作流,该工作流将更新列表中的文本字段。
其他提示
我有类似的问题而回。通过其他博客和专家,我发现[ID]列不应在计算列使用,因为它肆虐,并导致许多错误。遗憾 - 删除ID列和你应该罚款
。这个问题是有点老了,但我有同样的问题,并为它找到一个解决方案。这是一个非常具体的修复,并无法帮助所有人 - 它涉及到使用JavaScript的内容编辑器Web部件更新计算字段
此网站 - HTTP:/ /blog.pathtosharepoint.com/2008/09/01/using-calculated-columns-to-write-html/ - 给出了如何在我用它以相同的方式使用JavaScript的例子..的的代码块重要是第一while循环。点是从任何计算字段需要ID的列表,并更新抢出盒ID列的
在我来说,我有一个计算字段的URL所需的ID是理所当然的参数..因为你不能把ID在计算领域,将无法正常工作。我所做的是我把“?ID = NULL”在我的计算字段的URL的ID参数,然后我更换了与已使用JavaScript检索到的ID ..所以每当加载页面时,js的序幕,并更新所有的URL的具有正确的ID。
我知道这是很老,但我无法找到问题的其他地方的新版本及以上来自FERR解决了这个问题,我的答案,但还不是很清楚,所以我想我会更新它。
此假定要(链接内例如)使用该ID在输出HTML,我认为这是相当普遍的。
这是我在下面用一个if语句的安全得到ID添加pathtosharepoint链接使用JavaScript:
if (HTMLregexp.test(CellContent)) { //original pathtosharepoint line
if (NodeSet[i].parentNode.getAttribute("iid")){
var SPID = NodeSet[i].parentNode.getAttribute("iid").split(",")[1];
CellContent = CellContent.replace("SPIDReplace", SPID)
}
NodeSet[i].innerHTML = CellContent; //original pathtosharepoint line
这是摆在最新pathtosharepoint修复while循环在写作时。这对我的作品在SharePoint 2010。 注:包括在你的计算列中的字符串“SPIDReplace”得到它由项目ID代替
pathtosharepoint页: http://blog.pathtosharepoint.com/category/calculated-columns/ pathtosharepoint代码: http://pathtosharepoint.com/Downloads