I have a PowerApps form that's just a customized SharePoint list form. My form has a mix of People fields, text, choice, y/n, and one lookup. All data submits correctly to SharePoint, but several fields won't populate when opening an item from the SP list.

It's probably due to these fields containing a variable as the default value, but I'm not sure. I have 6 currency columns in SharePoint that display as number fields in the Power Apps form. I want those fields to display as currency in the PowerApps form (weird that it's not a standard function with PowerApps), so this is an example of what I did for those fields:

Number Field - Datacardvalue17

  • OnChange - Set(varAirCost,Text(Value(DataCardValue17.Text),"[$-en-US]$#,###"))
  • Default - varAirCost
  • Update - Datacardvalue17.Text

Doing this works perfectly in the app, and submits to SharePoint correctly. BUT, if I re-open that item, those fields won't repopulate with the data submitted to sharepoint. Not sure why.

Any help would be greatly appreciated!

Thank you.

  • 1
    Because on form load, value of varAirCost is blank. That variable will be updated only when onChange property is triggered after modifying the form fields. Try setting variable value on load of form. You can try it at different places like App.OnStart or Form.OnNew and/or form.OnView and/or form.onedit etc. It should work for you. Sep 20, 2023 at 15:03
  • 1
    Yep this is what I needed to do. Thank you. Passing data back to a submitted powerapps form with variables is tricky. So really just applying a formula OnStart in addition to the OnChange for the datacardvalue worked for me.
    – Chris
    Sep 21, 2023 at 18:08
  • Great, I am glad it worked for you. Sep 22, 2023 at 5:06

1 Answer 1


This is happening because you are using a variable as Default value and that variable is blank on form load when you are opening existing SharePoint list item.

The value of varAirCost variable will be updated only when onChange property of control is triggered after modifying the form field.

Try below to get it working:

Try setting variable value on SharePoint list form load. You can try it at different places like:

  • App.OnStart or
  • Form.OnNew and/or
  • Form.OnView and/or
  • Form.onedit etc.

You can get the column value of existing SharePoint list item based on SharePointInegration object (like SharePointIntegration.Selected.ColumnName) or ThisItem (like ThisItem.ColumnName) object in the context of SharePoint list form which is customized using Power Apps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.