如何使用 JSON 条件格式来禁用/“灰显”SharePoint Online 中基于其他 2 列的列?

问题描述 投票:0回答:1

一些背景:我正在为我的一个客户使用 SharePoint 网站。他们用它来管理与客户的工作。我这里有 3 个相关字段:准备开具账单、已签入和关闭工作。准备开具账单是一个选择字段,有以下选项:是、否、已开具发票。签入是日期和时间字段。关闭作业是一个复选框。

客户想要删除在“关闭作业”字段下标记的作业。为了防止意外删除,他指定他希望“关闭作业”为只读,直到“准备开票”标记为“已开票”且“已签入”不为空。然后我将创建一个 Power Automate 流程来检查何时选中“关闭作业”并删除整个列表项。

我的想法是在“关闭作业”列上使用 JSON 条件格式来基本上禁用该列,除非满足这两个参数。

你们会如何处理这个问题?有谁知道我将如何为此编写 JSON?

我还没有尝试过任何事情,因为我不知道从哪里开始。在 Power Apps 中执行此操作似乎不正确。

json sharepoint sharepoint-online
1个回答
0
投票

我认为您无法使用 JSON 格式从 SharePoint 列表表单中禁用 SharePoint 是/否列。

但是,您可以尝试以下解决方法:

  1. 将关闭作业(是/否)列的默认值设置为“否”。
  2. 然后您可以从列表表单中隐藏“关闭作业”复选框,直到使用条件公式满足必要条件。
  3. 一旦满足这些条件,关闭作业复选框将在列表表单上可见,用户可以选中它。

这是您可以使用的条件公式示例:

=if([$ReadyToBill]=='Invoiced' && Number([$CheckedIn])!=0, 'true', 'false')

将上述公式中的

ReadyToBill
CheckedIn
替换为 SharePoint 列表列的实际 内部名称。您可以按照本文获取列的内部名称:如何在 SharePoint Online 中查找列的内部名称?

我使用

Number([$CheckedIn])!=0
来检查日期和时间列是否为空。您可以在以下位置找到其他检查方法:SharePoint JSON 格式:检查日期和时间列是否为空/空

按照此 Microsoft 文档了解将条件公式应用于“关闭作业”列的步骤:指定条件公式以显示或隐藏 SharePoint 列表表单列

© www.soinside.com 2019 - 2024. All rights reserved.