【问题标题】:SharePoint 2007 and Javascript/JSQuery/SPServices - Loop through list and update each itemSharePoint 2007 和 Javascript/JSQuery/SPServices - 循环遍历列表并更新每个项目
【发布时间】:2015-01-05 14:34:43
【问题描述】:

请您提供以下帮助。任何建议表示赞赏。非常感谢。

解决方案内容

  1. SharePoint 2007 列表
  2. SharePoint 列表列:CreatedDate、DueDate、DaysRemaining
  3. 编码脚本语言:Javascript/JQuery/SPServices?

解决方案 包含任务和完成这些任务的剩余天数的 SharePoint 2007 列表。剩余天数不得包括公共假期或周末。 DaysRemaining 列必须在页面加载时更新,以便每天显示正确的值。

解决问题 最好的解决方案是使用 SharePoint 计算列,根据我的经验,这很有效,但它们不排除周末进行计算。所以,我打算使用 JS 来计算页面加载时的 DaysRemaining。

我需要一种遍历 SharePoint 2007 列表的方法,然后为该列表中的每个项目更新 DaysRemaining 列。

你能指出我正确的方向吗?

我假设一个 for 循环和某种更新函数?我已成功使用 SPServices.SPMultipleUpdateItems,但它更新了具有相同值的列表列,而不是每个列表项的不同值。

【问题讨论】:

  • 我建议使用 Powershell 来解决这个问题。 “Powershell SpListitem foreach”将有助于找到您正在搜索的内容

标签: javascript jquery sharepoint sharepoint-2007 spservices


【解决方案1】:

我在 2007 年的迁移中没有太多经验,但我认为你走错了路。

为什么不直接添加到计算列的公式中。

如果它是一个整数值,你可以这样做:

= (天数) / 7 * 5

如果您不能在一栏内完成所有操作,请制作第二栏。第一个计算列找到天的整数值。第二个计算列使用第一列进行数学运算。

【讨论】:

  • 谢谢。但是,这不会考虑公共假期(我假设必须将其存储在另一个 SharePoint 列表之类的地方)。
【解决方案2】:

由于我的声誉不够高,我不允许对您的帖子发表评论。

所以请原谅我使用答案选项可能没有答案。

如果您使用公式创建计算列,2007 年会发生什么:

="<B>Hello World!</B>"

并将数据类型设置为数字

在 2010、2013 和 Online 中,它将输出正确的粗体文本,这意味着您也可以在其中使用 JavaScript 代码

如果 2007 年将字符串显示为 Hello World!,那么你运气不好,不能在 2007 年使用这种方法

仅供参考,DaysRemaing 计算依赖于当前日期;但 TODAY 在计算列中可用。由于计算列仅在项目更新时更新,因此对 TODAY 的任何使用明天将休息 1 天,后天休息 2 天,等等。 这就是为什么使用 JavaScript 在 VIEW 中进行计算是一种可行的解决方法。

【讨论】:

    猜你喜欢
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 2016-04-27
    • 2016-07-19
    • 1970-01-01
    相关资源
    最近更新 更多