Sharepoint 2013/2016计算列停止计算
我在SharePoint On Premises中有一个计算列,显示截止日期的天数,该天数在一天左右的时间内工作正常,然后停止计算,但如果我转到“列表设置”并单击该列,然后单击“确定”,它会再次计算吗 是否有人遇到过类似的问题。我在2013年和2016年都有过这一期,但几周后就转到了2016年,仍然是同一期 我尝试了“空白”和“空白”,所以不确定这是否是导致问题的原因 这个公式有问题吗 以下是公式:Sharepoint 2013/2016计算列停止计算,sharepoint,sharepoint-2013,sharepoint-2016,Sharepoint,Sharepoint 2013,Sharepoint 2016,我在SharePoint On Premises中有一个计算列,显示截止日期的天数,该天数在一天左右的时间内工作正常,然后停止计算,但如果我转到“列表设置”并单击该列,然后单击“确定”,它会再次计算吗 是否有人遇到过类似的问题。我在2013年和2016年都有过这一期,但几周后就转到了2016年,仍然是同一期 我尝试了“空白”和“空白”,所以不确定这是否是导致问题的原因 这个公式有问题吗 以下是公式: =IF(ISBLANK([Due Date])," ", IF(ISERROR(DATEDIF
=IF(ISBLANK([Due Date])," ",
IF(ISERROR(DATEDIF(NOW(),[Due Date],"d"))," ",DATEDIF(NOW(),[Due Date],"d")))
,其中包括那些依赖于当前日期的
SharePoint列(甚至计算列)中的值存储在SharePoint的底层SQL Server数据库中
页面加载时不执行计算列中的计算;相反,只有当某个项目发生更改时才重新计算它们(在这种情况下,公式仅针对该特定项目重新计算),或者当列公式发生更改时才重新计算它们(在这种情况下,公式针对所有项目重新计算)
如果需要显示随时间推移而变化的动态值,则有几种选择
客户端渲染
考虑使用客户端呈现,它允许您使用JavaScript动态确定列表视图中记录的显示方式。此JavaScript在页面加载时运行,因此它可以比计算列更好地处理当前的时间相关值
要使用客户端渲染,您需要创建一个JavaScript文件来控制视图的显示方式。您可以将该文件上载到SharePoint上的某个位置,在那里人们至少可以对其进行读取访问,然后编辑要以不同方式显示的列表视图web部件,并将其“JSLink”属性设置为指向您的JavaScript文件
查看了解使用JSLink文件伪造动态日期字段的示例
微软也提供了一些文档,但我认为他们做的工作比必要的要多(在VisualStudio中为他们的示例创建一个完整的新列表定义项目,而不仅仅是为现有列表创建一个JSLink JavaScript文件)
其他选择
上面链接的旧问题中提到了一些其他选项:
与当前的
相等的项目。由于您可以在一个页面上放置多个列表视图web部件,因此您可以在一个部分中放置今天的项目,在另一个web部件中放置所有其他项目,从而实现视觉上的分离
要展开“筛选列表视图”选项,您可以使用一个视图,该视图仅显示在特定天数内到期的项目。例如,如果
到期日期
字段小于[Today]+7
且到期日期
大于或等于[Today]
,则可以通过过滤显示7天内到期的所有项目。您也可以对视图进行排序,以便将到期日较早的项目显示在更靠近顶部的位置。好的,谢谢,但实际上不符合要求,我发布了我将尝试查看它是否有效的内容。有关解决方法,请参阅: