web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id : qD1GcWBDJ3g74L4wgfMV2Z
Power Apps - Building Power Apps
Answered

Set Default Value for Lookup Field in New Form

Like (1) ShareShare
ReportReport
Posted on 11 May 2017 17:41:45 by

My project is an inventory management system, using two SharePoint lists; TBL_Locations and TBL_Assets. TBL_Assets has a lookup column called "LocationNumber" to a column in Locations called "LocationNumber".

 

I have created a standard app from the TBL_Locations list, and added a gallery to the second screen which shows the assets for the specified location.

 

I've added a button which opens the form to create a new asset. It doesn't really make sense to have a user select the LocationNumber manually since they have already selected a location to be working from, so I'd like to have that field automatically populate based on the Screen_Location.Selected.LocationNumber value.

 

However this doesn't appera to be quite a straightforword as I would expect, and I haven't been able to follow the other discussions on similar topics in this forum to achieve this goal.

 

Cheers,

Categories:
  • TomDegler Profile Picture
    13 on 17 Feb 2020 at 18:19:11
    Re: Set Default Value for Lookup Field in New Form

    Hey, 

     

    I was struggling with same issue for a moment.

    I have solved this much simplier way than already posted, and maybe someone else can use this solution as well.

     

    I am working here with SharePoint lists, not sure about other data sources.

     

    • most important problem is, that lookup field cannot take simple value as default. It has to be a record.
      • As posted above - you can use custom solution, however not everyone wants to depend on external solutions.
    • you can actually feed lookup field with record (doable)
      • you can build it on the fly directly in the "default" formula,
      • or you can use record type variable in "default" parameter.
      • If you choose variable approach you can plan scenarios with more control

     

    In my scenario I was able to control whether the value is copied or not.

    Simply build the variable (record type), providing ID and Value fields, when parent record is selected.

    Use this variable in your "default" value of target Data card.

     

    No hacks, no external solutions, no complicated formulas : )

     

    Good luck!

  • Stijn007 Profile Picture
    155 on 20 Dec 2019 at 13:30:00
    Re: Set Default Value for Lookup Field in New Form
    I have a simular question:

    I want to give the possibility to the user to change the default value of a lookup column.

    I have a sharepointlist with a lookup column.
    In PowerApps , the user can choose the default value in a dropdown. I created a form and set the default and defaultselected of the datacarddvalue:

    {
    '@odata.type' : "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference";
    Id : browsegallery1.allitems.id ;
    Value: Dropdown_for_default.selected.namecolumn
    }

    In the form in PowerApps it works perfect. But When i try in the sharepointlist. It doesn’t give me the default value.
    Every Day There is an item created with a flow.
    Requirement is: the user can set the default value.

  • BenFetters Profile Picture
    on 05 Sep 2019 at 22:01:30
    Re: Set Default Value for Lookup Field in New Form

    Hi all, 

     

    I was able to set the default in a SharePoint customized form with the formula below, but it should also work in a canvas app. 

     

    First(Filter(Choices(ListName.LookUpColumnName),LookUpColumnName.Value = "Desired Default Value"))

     

    List Name: Name of the list that your form is looking at for the DataSource

    LookUpColumnName: The lookup field that you want to set the default value to

     

    I hope this has been helpful! Let me know if this doesn't work for anyone or if it does work. 

     

    Have a great day,

    Ben Fetters

  • Community Power Platform Member Profile Picture
    on 26 Jul 2017 at 08:55:51
    Re: Set Default Value for Lookup Field in New Form

    This is great. Thank you for sharing. It helped me solve something I was batting with for a while.

     

    For me, this code worked...

    {'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",

    Id:BrowseGallery1.Selected.ID,

    Value:BrowseGallery1.Selected.Title}

     

    This one also worked, which referenced the last submitted value from an edit form instead of the browse gallery

    {'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",

    Id:EditFormCustomer.LastSubmit.ID,

    Value:EditFormCustomer.LastSubmit.Title}

     

    How would I reference a parent value of the previous view screen? I tried context variables (see below) but that didn't work. The error came up with the message: "The requested operation is invalid. Server Response: A value must be provided for item.

     

    For the testing I am displaying the context variables "paramCustomer" and "paramID", per the screenshot below, so they seem to be storing the correct values, but somehow the way I am pulling them into the default configuration must contain a syntax error of some kind. 

     

    Did not work... any idea why...?

    {'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",

    Id:paramID,

    Value: paramCustomer}

    Untitled.jpg

  • Burkhard Profile Picture
    20 on 22 Jul 2017 at 13:39:19
    Re: Set Default Value for Lookup Field in New Form

    I finally got it working following @camel's approach. E.g. set the default of the lookup data field to 

    {
     '@odata.type' : "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
     Id : MyGallery.Selected.ID,
     Value: MyGallery.Selected.Title
    }

    And then, possibly, make this data card invisible in the GUI.

     

    An alternative approach that I also explored is to not use "SubmitForm" but instead manually add the record to the data source. E.g.

    Collect('MyCollection',{
     Title: "Test",
     MyLookupField: {
     '@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
     Id:1,
     Value:"Hardcoded for testing only"
     }
     }
    );
    Set(MyErrors, Errors('MyCollection'))

     

  • sfishe Profile Picture
    77 on 12 Jul 2017 at 12:11:30
    Re: Set Default Value for Lookup Field in New Form

    Can we get an update from devs on this issue please?

     

    I have the same problem: essentially, how to set a Lookup value in a dropbox listbox control, when creating a child in a parent-child relationship. This is using Sharepoint lists with lookup columns.

     

    In my case I'm selecting the related record in a gallery, then adding a new child record, using a button to navigate to another screen with an edit form. While PowerApps figures out the possible Lookup relationships fine (i.e. populates the dropdown list), having to manually select the parent (i.e. the Lookup value) is incredibly tedious and redundant when the parent is already selected on the first screen.

  • Community Power Platform Member Profile Picture
    on 04 Jun 2017 at 15:55:29
    Re: Set Default Value for Lookup Field in New Form

    I'm having the same problem, and I tried your suggested solution @Tom_Slosse. And while I managed to get the dropdown to successfully show item I want as a default, I receive an error upon submitting the form:

    "The requested operation is invalid. Server Response: A value must be provided for item".

    A quick search for the problem didn't give a lot of info, besides the problem arising for someone using a people field (which behaves the same way due to it also being a sort of lookup). I was wondering how you managed to get this solution without running into the same issue I did? Are there any other steps besides setting the default value? Do you combine this with another method of saving the data besides SubmitForm()? Like Patch for example, which I have seen referenced sometimes, but haven't tried using myself yet.


    Second question to @camel:
    I've tried your solution as well, adding the bracketed odata-thingy as the Default property of the dropdown connected to the SharePoint Lookup field. But contrary to the above solution, this gives me the following error:

    "The requested operation is invalid. Server Response: Value cannot be null. Parameter name: source"

    So the same applies here. The default value I want is set successfully, but I can't submit the form. Any ideas?

  • Tom_Slosse Profile Picture
    1,430 on 17 May 2017 at 06:44:22
    Re: Set Default Value for Lookup Field in New Form

    Hey @Anonymous

     

     

    If you use First(Search(...))

    You need to put a field after the bracket from the function First like this

     

    First(Search(TBL_Locations,Gallery.Selected, "LocationNumber")).LocationNumber

     

    Kind regards

     

     

    Tom

  • camel Profile Picture
    Microsoft Employee on 16 May 2017 at 21:00:32
    Re: Set Default Value for Lookup Field in New Form

    This is definitely NOT the best approach to do, but I created a object with values needed on the LookUp object to be added to form.

     

    The default property looks like this:

     

    {
        '@odata.type' : "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference";
        Id : <id_from_the_item_in_the_lookupfield>;
        Value: <value_you_want_to_show>
    }

  • Community Power Platform Member Profile Picture
    on 16 May 2017 at 20:17:00
    Re: Set Default Value for Lookup Field in New Form

    @AndyPennell

    Still no good. Also according to this page "Filter, Search, and LookUp functions in PowerApps"  the 3rd argument in Search should be used like so: 

    • Column(s) - Required. The names of columns within Table to search. Columns to search must contain text. Column names must be strings and enclosed in double quotes. However, the column names must be static and cannot be calculated with a formula. If SearchString is found within the data of any of these columns as a partial match, the full record will be returned.

    Also note that the "Center Number" field is the same as "LocationNumber". I added it in there to get the app to work properly. It's just a regular number column and not a lookup.

    image.png

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Telen Wang – Community Spotlight

We are honored to recognize Telen Wang as our August 2025 Community…

Announcing our 2025 Season 2 Super Users!

A new season of Super Users has arrived, and we are so grateful for…

Congratulations to the July Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 637 Most Valuable Professional

#2
stampcoin Profile Picture

stampcoin 570 Super User 2025 Season 2

#3
Power Apps 1919 Profile Picture

Power Apps 1919 473