Power Apps开发求助:按日期展示对应颜色选择方块
Power Apps 解决方案:近一周颜色方块展示及扩展方案
不需要额外创建第二个浏览屏幕,直接新增空白屏幕即可——默认浏览屏幕的列表布局不适合横向方块展示需求,自定义空白屏更灵活。
一、近一周数据筛选
在空白屏幕中添加水平容器(用于横向排列方块),设置容器的Items属性为:
Filter( 你的SharePoint列表名称, 日期列名称 >= Today() - 6, // 包含今日在内的近7天 日期列名称 <= Today() )
替换上述代码中的列表名和日期列名为你的实际名称
二、创建颜色小方块
在水平容器内添加矩形控件,设置以下关键属性:
Fill:ThisItem.颜色列名称(Power Apps会自动将文本格式的颜色值转换为对应色块)Width/Height:设为相同数值,比如50,形成正方形色块BorderColor:RGBA(0,0,0,1)(可选,添加黑色边框区分色块)Tooltip:ThisItem.日期列名称 & " - " & ThisItem.颜色列名称(鼠标悬停时显示对应日期和颜色)
设置完成后,容器会自动为每条筛选出的记录生成对应颜色的方块,横向排列展示。
三、后续扩展:近一年+日期选择器
- 添加两个日期选择器控件(命名为
开始日期选择器和结束日期选择器),默认值可分别设为Today() - 365和Today() - 修改水平容器的
Items属性为:
Filter( 你的SharePoint列表名称, 日期列名称 >= 开始日期选择器.SelectedDate, 日期列名称 <= 结束日期选择器.SelectedDate )
- 若数据量较大,设置水平容器的
HorizontalScrollBar属性为Visible,开启横向滚动功能,方便查看所有色块。
四、优化:同一天多记录聚合展示
如果同一天有多人提交颜色选择,可先按日期分组,再集中展示当日所有颜色:
- 修改水平容器的
Items属性为分组公式:
GroupBy( Filter(你的SharePoint列表名称, 日期列名称 >= Today()-6 && 日期列名称 <= Today()), "日期列名称", "当日颜色组" )
- 在该容器内嵌套一个子水平容器,设置子容器的
Items属性为ThisItem.当日颜色组 - 将颜色矩形放在子容器内,即可实现同一天的颜色方块集中展示,日期区分更清晰。
内容的提问来源于stack exchange,提问作者GOB
相关产品推荐
相关产品推荐

