我可以在本地离线 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")
任何人都可以帮忙吗?我需要帮助来收集图库中的多条记录并在离线时将其保存到本地 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")