我正在寻找一种方法,让JSON脚本可以查找其他列并格式化其他列。根据另一列的值。
还有使用“ @currentfield”的替代方法吗?
谢谢
答案 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列的“内部名称”。列名称可能(通常是)不同比该列的“显示名称”大。例如,我们有一个跟踪某些团队成员的基本列表:
我们希望“当前合同”是一个使用“别名/登录”值的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)上的回购。