我可以在本地离线 Powerapps collection 中使用 ForAll 和 UpdateIf 吗?

Can I use a ForAll and UpdateIf within a local offline Powerapps collection?

任何人都可以帮忙吗?我需要帮助来收集图库中的多条记录并在离线时将其保存到本地 collection。 当我的应用程序连接时,我的脚本使用 ForAll 遍历所有图库项目,然后如果问题 ID 与图库中的 ID 匹配,它会将记录修补到 SQL 数据库。这部分工作正常。 但是,离线时,我会收集这些项目并将它们保存到名为 LocalAnswers 的本地 collection。它只保存 1 条记录(而不是 20 条)并且不提取问题 ID。我曾尝试在我的 Collect 函数中插入 ForAll 和 UpdateIf,但似乎无法正确插入。有什么想法吗?

If(
    Connection.Connected,
    ForAll(
        Gallery2.AllItems,
        UpdateIf(
            AuditAnswers,
            ID = Value(IDGal.Text),
            {
                AuditID: IDAuditVar,
                Answer: Radio1.Selected.Value,
                Action: ActionGal.Text,
                AddToActionPlan: tglAction.Value
            }
        )
    ),
    Collect(
        LocalAnswers,
        {
            AuditID: IDAuditVar,
            Answer: Radio1.Selected.Value,
            Action: ActionGal.Text,
            AddToActionPlan: tglAction.Value
        }
    )
);

Collect 只提取一条记录,因为您只定义了一条记录({} 之间的所有内容)。

我通常不会从 Gallery.AllItems 创建集合,而是从数据源(Sharepoint、SQL、另一个集合等)创建集合,因此不确定这是否会在没有测试的情况下工作。

试试这样的:

ForAll(Gallery2.AllItems,
    Collect(colLocalAnswers,
        {
            AuditID: ThisRecord.AuditID, //or whatever the control's name is
            Answer: ThisRecord.Radio1.Selected.Value,
            Action: ThisRecord.ActionGal.Text,
            AddToActionPlan: ThisRecord.tglAction.Value
        }
    )
);

SaveDate(colLocalAnswers, "localfile")