SharePoint 2013计算字段不能一直工作

时间:2015-01-27 15:17:05

标签: sharepoint sharepoint-2013 sharepoint-designer sharepoint-workflow

我有一个表单,我需要包含一个计算字段。我使用计算字段进行了一个非常简单的测试,其中公式为“= ID”。我只想确认我在视图中获得的值与列表中记录的ID相同。

我按NEW并创建新记录。然后当我在视图中看到新记录时,第一列是ID(比方说11),然后一些正确的字段形成表单,最后是计算字段,而不是显示值11,它显示为0.

然后我按照以下步骤操作:

  1. 我转到设置,列表设置
  2. 点击计算字段进行编辑(仅编辑而不进行修改),然后按确定(根本不修改计算字段)
  3. 返回记录列表,现在计算出的值显示值11
  4. 我谷歌但没有解决方案..有人说这个问题来自列ID,这意味着'当你最初保存该项时,“ID”还没有值! 这不是我的状态,当添加新项目时,列ID会正常递增。

    任何人都可以帮我识别计算字段,在保存记录后不会自动显示11? 或者按照另一种解决方案,例如使用工作流程2013 ..

    非常感谢

1 个答案:

答案 0 :(得分:1)

您可以在计算列公式中使用[ID]。 我不会为长期的技术解释而烦恼......

如果可能,Microsoft会将其添加到您在编写公式时可以选择的字段列表中。

解决方法是制作一个简单的SharePoint Designer工作流程,该工作流程在项目创建时启动,并将ID值保存到另一个列。

然后,您可以在计算公式中使用该列

如果你正在做任何前端... jQuery .. CSR / JSlink .. ID值在Item TableRow(TR)的属性id中可用为 x,id,y 所以你可以用

获得id
var ID={element}.getAttribute('id')[1]

您实际上可以在计算列中填充JavaScript,请参阅http://www.viewmaster365.com/#/How

更新#1 - 使用的示例代码:

="<a href='/sites/ru1/Lists/ao26c/DispForm.aspx?ID=' 
     target='_blank'><img src= '_layouts/images/blank.gif' 
     onload= ""var row=this;
               while(row.tagName!='TR'){row=row.parentNode};
               this.parentNode.href+=row.‌​getAttribute('id').split(',')[1];
             "">Открыть</a>"