cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
sfishe
Level: Powered On

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.

Highlighted
Burkhard
Level: Power Up

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'))

 

Anonymous
Not applicable

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

BenFetters
Level 8

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

Helpful resources

Announcements
thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Power Platform World Tour

Find out where you can attend!

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

fifthimage

Microsoft Learn

Learn how to build the business apps that you need.

Top Kudoed Authors (Last 30 Days)
Users online (5,503)