做过D365开发的应该非常清楚lookup的作用.
我们首先先看一下lookup字段在Microsoft Docs中的定义
大致意思呢, 就是创建一个N:1 的引用关系. 能够关联到两个entities.
那lookup在PowerApps中怎么使用呢?
Lookup的Data Type = Record
首先我们要知道, Lookup在PowerApps中的data type 是record(什么是PowerApps Record)
Lookup Field 的 GUID 值
在DataFlex Pro(CDS)中, 每一条数据都有对应的GUID值
Record 可以直接用 Record.'Record Name" 获取到GUID
我们可以看到下图D365中, 我们可以通过这个GUID搜索到这个用户.
使用GUID值和Patch来更新 Lookup 字段
因为lookup是一个record, 所以我们需要赋值这个record到lookup字段, 而不是只绑定这个lookup的GUID. 怎么使用patch
Patch( Contacts, First(Contacts), { 'Created By': LookUp( SystemUsers, SystemUser = GUID("cd6843b8-d603-ea11-a811-000d3a300000") ) } )
PowerApps中不能跨多个lookup level
e.g. 下面这个例子是获取account中的primary contact(第一个lookup)中的created by(第二个lookup)
在Collection中使用lookup字段
我们同样可以在collection中使用lookup字段. (ClearCollect使用方法)