我通过称为 ID 的调用 URL 将参数传递给 PowerApp,即 https://web.powerapps.com/apps/ powerappid?ID=32
当应用程序启动时,我希望它从列出所有业务案例的 BrowseScreen1 跳转并直接转到具有匹配 ID(SharePoint 列表中的字段)的业务案例。
我是 PowerApps 的新手,但很确定我需要做的就是深度链接,我找到了本教程 https://powerapps.microsoft.com/en-us/blog/powerapps-deep-linking/阅读该文章的评论后,我尝试将其应用到 BrowseScreen1 的 OnStart 属性。我不太明白教程中的导航链接是如何构建的,所以我确信我使用了错误的导航参数,因为它总是启动列表中的第一条记录,忽略与 ID 相关的任何内容。我正在使用:
If(Not(IsBlank(Param("ID"))),Navigate(DetailScreen1, None,{ID:LookUp('Full Business Case For Review'.ID, ID = Value(Param("ID")))}))
“供审核的完整业务案例”是 Sharepoint 列表的名称,ID 是分配给每个列表项的唯一字段。
教程没有提到必须更改详细信息屏幕上的任何内容,但我也想知道是否需要更改当前的项目属性:
BrowseGallery1.Selected
我感觉自己力不从心,非常感谢对此的帮助!
谢谢
约翰
最佳答案
是的,您需要更改详细信息屏幕中的 Item 属性。这是因为当前无法在 PowerApps 中以编程方式选择库中的项目。
我通常通过使用全局变量来存储当前项目来解决这个问题,因此您可以将 BrowseSreen1.OnStart 设置为此
If(Not(IsBlank(Param("ID"))),
Set(CurrentItem, LookUp('Full Business Case For Review'.ID, ID = Value(Param("ID"))));
Navigate(DetailScreen1, None)
)
这会将 ID 等于您的参数的项目存储为记录类型变量。
您还需要更改 BrowseGallery1 模板或用于导航到详细信息屏幕的任何控件的 OnSelect 属性。它需要是这样的
Set(CurrentItem, ThisItem); Navigate(DetailScreen1, None)
最后将详细信息屏幕中的 Item 属性简单设置为此
CurrentItem
关于sharepoint - MS PowerApps 深度链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47437912/