SharePoint 列格式化 JSON 配置

SharePoint 列格式化 JSON 配置

  • [一、设置Column Formating](#一、设置Column Formating)
  • [二、SharePoint 列格式化 - Json解读](#二、SharePoint 列格式化 - Json解读)
    • [1、"schema"](#1、"schema")
    • [2、"elmType" 元素类型](#2、"elmType" 元素类型)
      • (1) "a"
      • (2) "button"
        • [Ⅰ. "action": "editProps"](#Ⅰ. "action": "editProps")
        • [Ⅱ. "action": "defaultClick"](#Ⅱ. "action": "defaultClick")
        • [Ⅲ. "action": "delete"](#Ⅲ. "action": "delete")
        • [Ⅳ. "action": "share"](#Ⅳ. "action": "share")
        • [Ⅴ. "action": "executeFlow"](#Ⅴ. "action": "executeFlow")
    • [3、"txtContent" 文字内容](#3、"txtContent" 文字内容)
    • 4、Style属性

一、设置Column Formating

在SharePoint列表中,可以嵌入一个可使用的按钮,效果如下:

首先进入列表的设置

单击我们要设置的列

然后设置对应的Column Formating的值即可

对于文档库,同样可以添加新列,进行相同的设置:

二、SharePoint 列格式化 - Json解读

1、"$schema"

这个参数相当于代码规范性检查,虽然不是必需,但是建议加上

复制代码
{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  // 你的配置...
}

2、"elmType" 元素类型

可选的值:spandivbuttona

(1) "a"

示例

复制代码
{
  "elmType": "a",
  "txtContent": "查看详情",
  "attributes": {
    "href": "https://www.baidu.com/",
    "target": "_blank"
  }
}

如果链接后面要拼接动态的参数,可以参考下面的格式

复制代码
    "href": "='https://apps.powerapps.com/test?sourcetime=qwer&ID='+[$ID]",

假设原链接为

https://apps.powerapps.com/test?sourcetime=qwer

拼接后的效果为:

https://apps.powerapps.com/test?sourcetime=qwer\&ID=1

(2) "button"

Ⅰ. "action": "editProps"

编辑本条数据:

打开编辑表单,让用户修改当前项的字段值

复制代码
{
  "elmType": "button",
  "txtContent": "编辑本条数据",
  "customRowAction": {
     "action": "editProps"
  },
  "style": {
    "background-color": "green",
    "color": "white"
  }
}
Ⅱ. "action": "defaultClick"

查看详情:

打开View表单,让用户查看当前项的字段值

复制代码
{
  "elmType": "button",
  "txtContent": "打开详情(View)",
  "customRowAction": {
      "action": "defaultClick"
  },
  "style": {
    "background-color": "green",
    "color": "white"
  }
}
Ⅲ. "action": "delete"

删除本条数据:

复制代码
{
  "elmType": "button",
  "txtContent": "删除本条数据",
  "customRowAction": {
     "action": "delete"
  },
  "style": {
    "background-color": "red",
    "color": "white"
  }

删除当前列表项,会弹出确认对话框

Ⅳ. "action": "share"

Share本条数据

复制代码
{
  "elmType": "button",
  "txtContent": "共享",
  "customRowAction": {
      "action": "share"
  },
  "style": {
    "background-color": "green",
    "color": "white"
  }
}

会弹出Share的弹框:

Ⅴ. "action": "executeFlow"

关于触发Flow:

适用的 Power Automate 流程必须使用以下触发器之一:

"手动触发流程" (Manually trigger a flow)

"对于选定项" (For a selected item) - SharePoint

"对于选定文件" (For a selected file) - SharePoint

复制代码
{
  "elmType": "button", 
  "txtContent": "运行Flow",
  "customRowAction": {
    "action": "executeFlow",
    "actionParams": "{\"id\": \"941d679e-4208-4c3e-9d1c-fa7bca1a59b6\"}"
  }
}

flows和details中间这串字符就是Flow ID

For a selected item触发器

For a selected file触发器

3、"txtContent" 文字内容

文本可引用值

可引用别的字段的值,也可以引用当前自动的值

引用其他列,形如: $Title

引用当前列, @currentField

日期列好像无法引用,自带的创建人和修改人也引用不了

ID可以,自己创建的人员列可以,人员列的引用形如 "$per.email"

我们这里配置的值,相当于是一个样式,覆盖在原本的单元格上面,与它实际存储的值无关,也不能导出这里配置的值

复制代码
{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "span",
  "txtContent":"[$Title]"
}

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "span",
  "txtContent":"@currentField"
}

可以使用内置图标

有一些内置的图标,设置文本的时候,可以图标+文字:

复制代码
{
  "elmType": "div",
  "customRowAction": {
    "action": "defaultClick"
  },
  "children": [
    {
      "elmType": "span",
      "attributes": {"iconName": "DocumentSearch"},
      "style": {
        "padding-right": "10px",
        "color": "#0078d4",
        "font-size": "16px"
      }
    },
    {
      "elmType": "span",
      "txtContent": "测试图标+文字"
    }
  ]
}

图标可以参考这个链接:

https://developer.microsoft.com/en-us/fluentui#/styles/web/icons

鼠标悬停会有图标名字,有的图标可能对不上,但是iconName可以参考

4、Style属性

总之就是CSS样式,大家可以自己调整

复制代码
{
  "elmType": "div", 
  "txtContent": "测试Style",
  "style": {
    "background-color": "#4CAF50",
    "color": "white",
    "border": "none",
    "padding": "10px 20px",
    "border-radius": "6px",
    "cursor": "pointer",
    "font-weight": "500",
    "text-align": "center",
    "font-size": "14px",
    "letter-spacing": "0.5px"
  }
}

欢迎关注我的博客,与我一起学习,我将持续分享我的学习过程,我是 热爱学习的小翁同学~

相关推荐
海兰9 小时前
【高速缓存】RedisVL 存储类型选择指南:Hash 与 JSON
人工智能·redis·算法·缓存·json·哈希算法
减瓦11 小时前
Jackson 使用指南
java·spring boot·json
制造数据与AI践行者老蒋1 天前
离谱!PromptTemplate 遇上 JSON,花括号直接引发解析战争
数据库·microsoft·json
行者-全栈开发1 天前
CVE-2026-45659:Microsoft SharePoint远程代码执行漏洞深度解析与修复指南
microsoft·sharepoint·反序列化·运维自动化·安全修复·远程代码执行·cve-2026-45659
chenjingming6661 天前
JWT(JSON Web Token)有效期查看登录过期时间
json
绘梨衣的sakura路2 天前
Fastjson ≤ 1.2.83 新型 RCE 漏洞深度分析:三层绕过机制与完整利用链
安全·web安全·json
江湖十年2 天前
Go 语言中 YAML to JSON 踩坑笔记
后端·go·json
前网易架构师-高司机2 天前
带标注的扑克牌识别数据集,识别率99.5%,3083张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·数字·扑克牌·纸牌
前网易架构师-高司机2 天前
带标注的浮游藻类24种数据集,识别率91.5 %数据集, 23175张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·微观·生物·浮游·藻类
维天说3 天前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json