PowerApps中用硬编码月份下拉菜单筛选SharePoint列表的问题
解决方法
1. 配置硬编码月份下拉菜单
直接在下拉控件的Items属性中输入以下代码,生成带月份名称与对应数字的选项:
Table( {MonthName: "1月", MonthNumber: 1}, {MonthName: "2月", MonthNumber: 2}, {MonthName: "3月", MonthNumber: 3}, {MonthName: "4月", MonthNumber: 4}, {MonthName: "5月", MonthNumber: 5}, {MonthName: "6月", MonthNumber: 6}, {MonthName: "7月", MonthNumber: 7}, {MonthName: "8月", MonthNumber: 8}, {MonthName: "9月", MonthNumber: 9}, {MonthName: "10月", MonthNumber: 10}, {MonthName: "11月", MonthNumber: 11}, {MonthName: "12月", MonthNumber: 12} )
接着把下拉控件的DisplayFields设置为["MonthName"],Value设置为MonthNumber——这样下拉显示的是“1月”“2月”这类名称,后台实际取值是对应数字,方便后续匹配日期。
2. 关联SharePoint列表实现筛选
在展示毕业活动的Gallery控件的Items属性中,使用以下Filter公式(替换成你实际的SharePoint列表名、日期列名和下拉控件名):
Filter( '毕业活动列表', Month('创建日期') = Dropdown_Month.Selected.MonthNumber )
如果需要避免跨年份的同月份数据被筛选出来,可添加年份条件,比如只显示当前年份的活动:
Filter( '毕业活动列表', Month('创建日期') = Dropdown_Month.Selected.MonthNumber, Year('创建日期') = Year(Today()) )
3. 可选优化设置
- 让下拉默认选中当前月份:将下拉控件的
Default属性设为Month(Today()) - 对筛选结果排序,比如按创建日期从新到旧排列:
Sort( Filter( '毕业活动列表', Month('创建日期') = Dropdown_Month.Selected.MonthNumber, Year('创建日期') = Year(Today()) ), '创建日期', Descending )
内容的提问来源于stack exchange,提问作者noclue
相关产品推荐
相关产品推荐

