Power Apps表单下拉框提交后无法更新SharePoint记录求助
解决Power Apps多值查找列提交不更新的问题
问题出在SharePoint多值查找列需要特定格式的记录才能识别,你直接提交AStaff集合的选中项,结构和Lookup列要求的不匹配,所以表单提交后没有更新。
原因分析
原Choices([@Tasks].AssignedTo)返回的是符合Lookup列标准格式的记录,每个项包含Id(关联列表的记录ID)和Value(关联列表中被Lookup的字段值)。而你的AStaffList集合是AStaff列表的原始记录,缺少Lookup列要求的结构映射,导致SharePoint无法解析。
解决步骤
- 保持集合创建不变(如果已经用了
Collect(AStaffList, AddColumns(AStaff, "DisplayTitle", Concatenate(Title, " (" , Hub.Value, ")"))),可以继续使用) - 设置下拉框的显示字段:
选中下拉框DataCardValue15,将DisplayFields属性设为["DisplayTitle"],确保下拉框显示你自定义的带Hub信息的文本。 - 修改DataCard的Update属性:
将原来的DataCardValue15.SelectedItems替换为:
注意:这里的ForAll(DataCardValue15.SelectedItems, {Id: ID, Value: Title})Title要和AssignedTo查找列关联的AStaff字段保持一致(如果你的Lookup列关联的是其他字段,比如Name,就把Title换成对应字段名)。
验证要点
- 确保下拉框的
AllowMultiSelect属性设为true(适配多值查找列的多选需求) - 可以先单独测试Patch操作,确认格式正确:
如果能成功创建带AssignedTo值的任务,说明格式没问题,再放到表单的DataCard Update里即可。Patch(Tasks, Defaults(Tasks), {AssignedTo: ForAll(DataCardValue15.SelectedItems, {Id: ID, Value: Title})})
内容的提问来源于stack exchange,提问作者DivZero
相关产品推荐
相关产品推荐

