SharePoint Online 表单Lookup列下拉框多字段组合显示实现咨询
首先明确:* SharePoint原生的列格式化JSON功能仅可修改列表视图内的列展示样式,无法调整表单中Lookup列下拉菜单的选项内容,无法通过该功能实现需求,可参考以下两种无代码方案实现:
方案1:源列表新增计算列(优先推荐,零代码,适配所有场景)
操作步骤:
- 打开Lookup列关联的源列表,进入「列表设置」> 「创建列」
- 列类型选择「计算列」,列名可自定义(如
DisplayText) - 公式栏输入
=ID&" - "&Title,返回数据类型选择「单行文本」,保存列 - 回到使用Lookup列的目标列表,进入Lookup列的编辑设置页
- 在「此列显示的值」下拉选项中,选中刚才新建的计算列,保存设置即可
该方案无需额外开发,下拉选项会自动同步源列表的ID和Title内容,ID为固定系统生成值,不会随数据变更出现错位问题。
方案2:Power Apps自定义表单(适合有其他表单定制需求的场景)
如果后续还有其他表单个性化调整需求,可通过自定义表单实现:
- 进入目标列表,点击「新建」按钮打开表单,点击顶部菜单栏「编辑表单」>「使用Power Apps自定义」
- 在Power Apps编辑画布中,找到对应Lookup列的下拉控件,修改其显示字段的拼接规则为ID+分隔符+Title
- 调整完成后点击发布,表单即可同步更新到SharePoint列表
补充:列表视图组合展示(仅适配视图显示,不修改下拉)
如果仅需要在列表视图中展示ID+Title的组合内容,不需要调整表单下拉选项,可使用列格式化JSON实现,示例代码:
{ "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json", "elmType": "div", "txtContent": "=[$YourLookupFieldName.ID] + ' - ' + [$YourLookupFieldName.Title]" }
使用时将YourLookupFieldName替换为你实际的Lookup列内部名称即可。
内容的提问来源于stack exchange,提问作者Marc-Olivier Villeneuve
相关产品推荐
相关产品推荐

