筛选与搜索数据

Power Apps 入门

Luise Freese

Azure & Power Platform Architect

Filter()

 

  • Filter(source, condition) 返回匹配的行
  • 用于 画廊的 Items 属性
  • 例如:

    Filter(Tasks, Status = "In progress")

数据漏斗示意图:将许多行过滤为少量匹配结果

Power Apps 入门

连接到下拉框

$$

Power Apps Studio:状态下拉框设为 Not started,位于画廊上方;画廊的 Items 公式为 Filter(Tasks, Status = Dropdown1.Selected.Value),因此画廊仅显示 Not started 的任务

 

  • 将 Dropdown 的 Items 设为状态选项列表
  • 在画廊筛选中引用 Dropdown1.Selected.Value
  • 选择状态 → 画廊即时收窄
Power Apps 入门

StartsWith 与 Search

 

  • Search() 匹配任意位置的子串
  • 但对多数数据源不委派
  • StartsWith() 会委派

对比:Search() 带红色叉和委派警告波浪线 vs StartsWith() 绿色对勾无警告,箭头标注 "Prefer"

Power Apps 入门

委派警告

Power Apps 公式栏:蓝色波浪线委派警告,下方黄色提示框写有 "Delegation warning: results may be incomplete"

 

  • 蓝色波浪线 表示 Power Apps 无法下推您的公式
  • 小数据集可用,大会被静默截断
  • 一定注意;能改写时请改写
Power Apps 入门

组合使用 Filter 与 StartsWith

 

  • 一个 Filter() 可含多个条件
  • 用逗号分隔,需全部匹配
  • 例如:

Filter(src, Status = sel, StartsWith(Title, txt))

 

$$

Power Apps Studio:状态下拉框与搜索框位于画廊上方;画廊 Items 公式为 Filter(Tasks, Status = Dropdown1.Selected.Value, StartsWith(Title, TextInput1.Text)),列表收窄到唯一匹配任务

Power Apps 入门

您将构建的内容

完成的 Lumen 应用:状态下拉框与搜索框位于过滤后的任务卡片画廊上方,咖啡棕配色点缀

 

  • 用 Dropdown 按状态筛选
  • 用 StartsWith 按标题搜索
  • 二者合并为单个筛选
Power Apps 入门

让我们一起练习吧!

Power Apps 入门

Preparing Video For Download...