Power Apps Canvas中如何筛选Gallery仅显示各ID最高Run Number条目
Power Apps 实现每个唯一ID的最高Run Number筛选+搜索
针对你的需求,直接修改Gallery(或数据显示控件)的Items属性即可,核心逻辑是先分组提取每个ID的最大Run Number条目,再在这个结果上做搜索,代码如下:
Search( ForAll( GroupBy('Example', "ID Number", "GroupedRows"), LookUp(GroupedRows, 'Run Number' = Max(GroupedRows, 'Run Number')) ), textInput.Text, "ID Number" )
代码拆解
- GroupBy:把你的Microsoft List数据源
Example按「ID Number」分组,每个分组里存着对应ID的所有行(命名为GroupedRows) - ForAll + LookUp:遍历每个分组,找到该分组内「Run Number」最大的那一行,得到每个唯一ID的最新(最高Run)条目集合
- Search:在筛选后的集合里,根据输入框
textInput的内容搜索「ID Number」,完全符合“搜索基于筛选结果”的要求
注意事项
- 确保字段名和你的Microsoft List完全一致,若字段的系统内部名称(可在List设置的字段详情查看)与显示名不同,需替换为内部名称
- 若数据量较大,建议在App的
OnStart事件里先缓存筛选后的集合,再基于缓存集合做搜索以提升性能:// App.OnStart 中的代码 ClearCollect( MaxRunData, ForAll( GroupBy('Example', "ID Number", "GroupedRows"), LookUp(GroupedRows, 'Run Number' = Max(GroupedRows, 'Run Number')) ) ) // Gallery.Items 属性 Search(MaxRunData, textInput.Text, "ID Number") )
内容的提问来源于stack exchange,提问作者frigidpeaches
相关产品推荐
相关产品推荐

