I want to patch a local collection to update existing data in a SharePoint list. The user makes some changes which get saved to a collection.
In the past I've successfully used the following method, but now I'm getting a runtime error:
PowerApps is indicating a problem with the following line of code:
First(Filter( MyList, ID = ID )
ForAll(
colSavedApps,
If(
!IsEmpty(colSavedApps),
Patch(
MyApps,
First(Filter(MyApps,ID = ID)),
{
Title: Title,
spField_1: spField_1,
spField_2: spField_2
}
)
)
);
Solved! Go to Solution.
Hey @Digital
Can you try to update the expression as:
ForAll(
RenameColumns(colSavedApps,"ID","ID1"),
If(
!IsEmpty(colSavedApps),
Patch(
MyApps,
First(Filter(MyApps,ID = ID1)),
{
Title: Title,
spField_1: spField_1,
spField_2: spField_2
}
)
)
);
Hope this Helps!
If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!
From where are you getting your second ID value in the filter function?
---
If you like this reply, please give kudos. And if this solves your problem, please accept this reply as the solution. Thanks!
Hardit(Haman)
I thought from the local collection. There is a column called ID in there.
The local collection is pretty much a copy of the SharePoint list, but the user can select/deselect options. I want to be able to update the list once they've made their changes and hit save. I can't use a form for this.
@PowerAddict ,Thanks for your reply.
On the left side of the condition, I get column name suggestions. On the right side I get suggestions of everything in my app - element properties, galleries, images etc, as well as column names.
My collection is also the data source for a gallery that displays data. Do I need to add the ID to my collection in a different column maybe? Would I do this by renaming it or adding a column?
I should add that if I hardcode the ID in the right side it patches. So the only issue is getting the ID of each gallery item in there so it matches the correct record to be patched.
First(Filter(MyApps,ID=469))
Hey @Digital
Can you try to update the expression as:
ForAll(
RenameColumns(colSavedApps,"ID","ID1"),
If(
!IsEmpty(colSavedApps),
Patch(
MyApps,
First(Filter(MyApps,ID = ID1)),
{
Title: Title,
spField_1: spField_1,
spField_2: spField_2
}
)
)
);
Hope this Helps!
If this reply has answered your question or solved your issue, please mark this question as answered. Answered questions helps users in the future who may have the same issue or question quickly find a resolution via search. If you liked my response, please consider giving it a thumbs up. THANKS!