SharePoint列表列上的JSON格式化以启用级联下拉列表

a7qyws3x  于 2023-06-25  发布在  其他
关注(0)|答案(2)|浏览(113)

我一直在编写一些示例代码,以根据列表列A的值格式化列表列B。
我有两个清单:列表A-该列表是用于数据输入的主列表。列为项目、地区和国家。列表B-此列表包含2列;地区和国家。
我想做的是,基于用户的选择,只显示与选择区域对应的国家。所有国家/地区都保留在名单B中。
到目前为止,我已经尝试过:

{
  "$schema": "https://columnformatting.sharepointpnp.com/columnFormattingSchema.json",
  "elmType": "div",
  "style": {
    "display": "inline-block",
    "padding": "10px 0 10px 0",
    "min-height": "auto"
  },
  "children": [
    {
      "elmType": "span",
      "style": {
        "display": "inline-block",
        "padding": "0 10px 0 0"
      },
      "attributes": {
        "iconName": "Folder"
      }
    },
    {
      "elmType": "a",
      "txtContent": "Show Countries",
      "attributes": {
        "target": "_top",
        "href": {
          "operator": "+",
          "operands": [
            "https://xxxxxxxxxxxx/AllItems.aspx?ID=",
            "@currentField.lookupValue",
            "[$Title]",
            "&FilterType1=Lookup"
          ]
        }
      }
    }
  ]
}

这显然不是正确的解决方案,但作为JSON的新手,这是我通过引用msdn文档所能做的最好的解决方案。这个链接正常工作,尽管它不是最终解决方案所必需的。基本上,我只希望用户看到基于地区选择的国家。因此,我错过了显示查找值的结果,而不是“显示国家”。
任何帮助或指向进一步帮助/文档的指针都非常感谢。

pn9klfpd

pn9klfpd1#

根据我的研究,JSON格式不支持SharePoint Online上创建级联下拉列表。
您可以使用SP服务(JS)创建级联下拉列表。

参考:

plicqrtu

plicqrtu2#

有两种方法可以在SharePoint Online中实现此要求。
1.使用JSON格式:
您可以使用JSON中的inlineEditField构建级联下拉字段,并在setValue action的帮助下将值保存到列表列中。
请参阅此链接以获取JSON示例:Dependent-DropDown

您可以从上面引用的JSON,并根据您的要求进行调整。

注意:在你的JSON中,你必须使用正确的列的内部名称。您可以通过以下文章获取列表/库列的内部名称:How to find the Internal name of columns in SharePoint Online?

1.使用Power Apps(如果您想使用列表表单):
您可以使用Power应用程序自定义列表表单,并在函数/公式的帮助下开发级联唐斯。
查看以下链接以获取详细信息和教程:

  1. Create dependent drop-down lists in a canvas app
  2. Working with Cascading Lists in SharePoint and Power Apps

相关问题