Power Apps中如何根据SharePoint列表选中项字段值切换启动屏幕?
问题根源
你之前的公式都是直接操作整个List1数据表,没有定位到当前双击选中的那条具体记录,所以逻辑无法根据选中项的ColumnX值变化,导致始终跳转同一个屏幕。
正确解决方案(分两种场景)
场景1:App内通过Gallery双击列表项跳转(最常见场景)
- 确保你的
List1数据已绑定到Gallery控件(假设控件名为Gallery1)。 - 选中
Gallery1,设置它的OnDoubleSelect属性为以下公式:
Set(varSelectedItem, ThisItem); If(IsBlank(varSelectedItem.ColumnX), Navigate(Screen1), Navigate(Screen2))
- 在
Screen1和Screen2中添加编辑表单,将表单的DataSource设为List1,Item属性设为varSelectedItem,即可加载当前选中项的数据进行修改。
场景2:从SharePoint列表直接点击项打开App跳转
如果是从SharePoint列表中直接点击项打开Power Apps,需要通过上下文参数获取选中项,设置App.StartScreen属性为:
Set(varSelectedItem, LookUp(List1, ID = Value(Param("ID")))); If(IsBlank(varSelectedItem.ColumnX), Screen1, Screen2)
错误公式解析
IsBlank(List1.ColumnX):List1.ColumnX返回的是整个表中ColumnX列的所有值组成的单列表,IsBlank检查的是这个列表是否为空,而非某条记录的字段值,所以永远不会匹配你的需求。LookUp(List1.ColumnX,'ColumnX'=Blank(), true):同样是遍历整个表返回第一条ColumnX为空的记录结果,和当前选中项无关。
内容的提问来源于stack exchange,提问作者Lise
相关产品推荐
相关产品推荐

