使用Power Apps实现SharePoint Online列表的下拉菜单的级联选择
在SharePoint列表中添加数据的时候,下拉菜单的级联选择一直是一个非常实用的功能,尤其是有很多数据的情况,级联选择可以根据上一层的选择,自动过滤下一层的选择,方便用户查找和选择准确的信息。一个最常用的情景是选择供应商的地区和国家,例如有三个列表,一个是供应商所在的大洲,一个是国家,一个是供应商。当用户选择州的时候,会自动列出属于这个州的国家。避免用户迷失在大量的数据中。
这里展示一下如何在SharePoint Online的列表中,使用Power Apps实现这样的级联操作。
首先创建三个列表如下:
大洲列表,只有一个Title字段,保存了大洲的名字:
国家列表,有两个字段,一个是Title,保存国家的名字,一个是大洲,保存国家对应的大洲:
供应商列表,其中大洲是lookup到大洲列表的查阅项,国家是lookup到国家列表的查阅项,国家:大洲是国家列表中的大洲关联字段:
在供应商列表中,打开Power Apps下拉菜单下面的自定义表单选项:
在编辑器中,供应商列表中的每一个字段都对应一个DataCard,其中国家:大洲是lookup的额外关联字段,也显示出来了,这个我们稍后会用到:
首先选择“国家_DataCard1”,
在右侧的属性面板中选择“Advanced",然后点击”Unlock to change properties“,这样我们可以编辑属性:
然后选择”国家_DataCard1“下面的”DataCardValue3",
右侧属性面板中找到Items属性:
点击Items,这个时候会在编辑器的公式部分显示Items的公式:
因为这是lookup字段,所以在表单中显示为一个下拉菜单,对应的函数是Choices,函数中的OData__x56fd__x5bb6__实际上是国家字段的唯一标识,因为我们使用的是中文“国家”,所以这里不是一个可读的值,如果使用英文,这里会是一个比较容易识别的单词。
我们使用Power Apps提供的Filter函数,对这个国家字段的值进行一下过滤,只显示某个大洲的国家,所以我们在Choice函数之外添加一个Filter函数如下:
其中“DataCardValue2指的是大洲字段下面的DataCard:
保存并发布:
回到供应商列表,新建一个item,会发现级联功能已经生效了:
只需要改动一个函数,就实现了级联的功能,是不是很方便?
- 利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List)
- [转][SharePoint Designer技巧-1]使用DataView与Form Web Part实现列表的关键字查询
- [SharePoint Designer技巧-1]使用DataView与Form Web Part实现列表的关键字查询
- SharePoint Online 列表modern UI手把手教程如何使用及问题
- [SharePoint Designer技巧-1]使用DataView与Form Web Part实现列表的关键字查询
- [SharePoint Designer技巧-1]使用DataView与Form Web Part实现列表的关键字查询--转载
- SharePoint Designer技巧-1]使用DataView与Form Web Part实现列表的关键字查询
- 使用仪表板设计器配置级联筛选器 (SharePoint Server 2010 SP1)
- SharePoint on Windows Server 2008 R2 - "客户端不支持使用windows资源管理器打开此列表”
- 安装使用SharePoint Online Management Shell的时候出现的问题
- sharepoint designer 使用技巧(五) 去掉列表里用户名链接
- Sharepoint online 如何使用asp.net开发项目!!!
- Android使用RecyclerView实现列表数据选择操作
- 使用dwr实现下拉框级联和js实现动态选择option的selected状态方法总结
- SharePoint Foundation 2010 托管客户端对象模型概述(五) --使用 CAML 查询列表
- 创建数据库表 province 和 city ,使用 dropdownlist 的绑定,实现省市列表级联。
- 使用Javascript实现选择下拉菜单互移并排序
- jQuery实现的checkbox级联选择下拉菜单效果示例
- SharePoint Online 创建和使用栏
- Dynamics 365 Online 利用Microsoft Flow实现自动创建Sharepoint Location