cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
sfishe Helper II
Helper II

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.

Burkhard
New Member

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 Advocate V
Advocate V

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

Stijn007 Helper II
Helper II

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.

TomDegler
Regular Visitor

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!

Helpful resources

Announcements
MBAS Gallery 2020

MBAS Gallery 2020

Watch Microsoft Business Applications Summit sessions on-demand.

firstImage

New Ranks and Rank Icons released on April 21!

The time has come: We are finally able to share more details on the brand-new ranks coming to the Power Apps Community!

Top Solution Authors
Top Kudoed Authors
Users online (6,888)