Not sure i have titled this right.
I have a sharepoint form for a list that i am customizing. As such i have a "SharePointForm" Group along with data cards for each of the fields. One field i have is "Status" On load of the form i am wanting it to say "new" Which i can do successfully. However when a user selects "Save as draft" If the form is in Draft or New status already, i want it to set the "Status" field to "Draft" if the user clicks "Submit" and the form is in New/Draft status, i want the status to move to "Submitted". There are other points throughout the processs where users will need to open and update the form. and other statuses. So, what i have is the following:
on the "Save as Draft" field, i am using the following:
If(DataCardValue5.Text = "", UpdateContext({Var_Status: "Draft"}), UpdateContext({Var_Status: DataCardValue5.Text})); SubmitForm(SharePointForm1)
On the DataCard i have the default value set to "Var_Status" and this successfully sets the value and saves the form. The issue i am having, is that every time the form Loads, Status is blank instead of pulling through the current status value. This makes sense to me as the "Var_Status" variable would be blank at this point. I have attempted to set this variable on form load (OnEdit, OnView events) however because at that point SharePointForm1.Selected is blank, i am unable to determine which "Status" value to get.
Any suggestions on how i can accomplish this would be greatly appreciated.
Solved! Go to Solution.
I managed to solve it.
For those who may come here in future looking for a solution it is below.
Instead of using a global variable, i used only code on the button.
If(IsBlank(DataCardValue5.Text) Or IsEmpty(DataCardValue5.Text), Patch(MyList, SharePointIntegration.Selected, {FormStatus: "Draft"}), Patch(MyList, SharePointIntegration.Selected, {FormStatus: DataCardValue5.Text})); SubmitForm(SharePointForm1)
I had Tried patch Previously, however instead of using "SharePointIntegration.Selected" i tried to use "ThisItem" once i started using SharePointIntegration.Selected it worked without issue. This allowed me to set the value as expected without using any variables/other "funky" ways of doing things that i had found in other posts.
I managed to solve it.
For those who may come here in future looking for a solution it is below.
Instead of using a global variable, i used only code on the button.
If(IsBlank(DataCardValue5.Text) Or IsEmpty(DataCardValue5.Text), Patch(MyList, SharePointIntegration.Selected, {FormStatus: "Draft"}), Patch(MyList, SharePointIntegration.Selected, {FormStatus: DataCardValue5.Text})); SubmitForm(SharePointForm1)
I had Tried patch Previously, however instead of using "SharePointIntegration.Selected" i tried to use "ThisItem" once i started using SharePointIntegration.Selected it worked without issue. This allowed me to set the value as expected without using any variables/other "funky" ways of doing things that i had found in other posts.
This training provides practical hands-on experience in creating Power Apps solutions in a full-day of instructor-led App creation workshop.
User | Count |
---|---|
199 | |
68 | |
47 | |
36 | |
25 |
User | Count |
---|---|
239 | |
109 | |
89 | |
87 | |
66 |