SharePoint JSON脚本的外观如何

时间:2018-06-26 09:22:53

标签: json sharepoint

我正在寻找一种方法,让JSON脚本可以查找其他列并格式化其他列。根据另一列的值。

还有使用“ @currentfield”的替代方法吗?

谢谢

2 个答案:

答案 0 :(得分:0)

查看Apply formatting based on date ranges演示。

{

   "elmType": "div",
   "txtContent": "@currentField",
   "style": {
      "color": {
         "operator": "?",
         "operands": [
            {
               "operator": "<=",
               "operands": [
                  "[$DueDate]",
                  "@now"
               ]
            },
            "#ff0000",
            ""
         ]
      }
   }
}

答案 1 :(得分:0)

提供的MS Docs链接@Lee_MSFT在格式化方面有一些不错的示例。除了有关日期范围的讨论中有关内部/字段名称的注释外,该文档还包括用于交叉引用其他列(https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/column-formatting#fieldname)的说明。本质上,如果要引用/使用A列中的数据来格式化B列,则需要使用B列JSON格式中A列的“内部名称”。列名称可能(通常是)不同比该列的“显示名称”大。例如,我们有一个跟踪某些团队成员的基本列表:

  • “别名/登录”(插槽);内部名称:标题
  • “名字”(SLOT);内部名称:名字
  • “姓氏”(SLOT);内部名称:LastName
  • “当前合同”(SLOT);内部名称:CurrentContracts

我们希望“当前合同”是一个使用“别名/登录”值的URL链接,我们还希望显示一个图标。实际上,此列甚至不需要内容,因为它将为所有用户显示一个实际的图标和“合同”一词。显然,如果引用的列不是必需的,则应进行一些数据验证以确保您不会创建错误的URL等。

{
    "$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json",
    "elmType": "a",
    "attributes": {
        "target": "_blank",
        "iconName": "BulletedList",
        "class": "sp-field-quickActions",
        "href": {
            "operator": "+",
            "operands": [
                "https://mycompany.sharepoint.com/teams/coolpeople/contracts/",
                "[$Title]"
            ]
        }
    },
    "txtContent": "Contracts"
}

注意:只需搜索“ SharePoint JSON列格式”以找到大量示例,包括GitHub(https://github.com/SharePoint/sp-dev-list-formatting)上的回购。