Hi
In my Powerapp I am setting the default value of a combo box to a global variable within the app. This is working ok, however, when I save the record it does not save and no error message is returned. The form continues as if the record saved correctly.
My question is. How to correctly set the value of the combo box so that when not changed by the user and saved. It saves?
To set the default value, I am setting the DataCard default to:
{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.lsTSDetails",
id:0,
Value:Text(varMainID)}
The update of the datacard is set to:
DataCardValue5.Selected
I have set the combobox defaultSelectedItems to:
{'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.lsTSDetails",
id:0,
Value:Text(varMainID)}
I have looked around the forums and cannot find a solution that works relating to the Saving of the default value.
Any help appreciated.
Thanks
Would you please share more details about the field that the Combo Box control bound with, is it a Lookup, Choice or Person or group type?
The '@odata.type' would vary based on the data field you are working with.
And I have never experienced with a value for
"'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.lsTSDetails"
It would be much appreciated if you could share more details for this field type, I will then test it and share the results back.
Regards,
Michael
Hi Micahel
Yes the field defined in the SharePoint list is a Lookup field.
A little background.
I have an app where I am capturing main details for the data (varying fields) and also detail items/transactions that are linked to the main details. I save the main details first via the standard SubmitForm and then store the Last id into a variable. On the details form I have a combo field of type lookup that lists all the id values. I never want the user to enter this value. I want to default it and then save it with no user interaction. Despite the value being shown in the combo box it does not save unless if you click on it and select it.
Thanks
EREC
Hi Michael
Did you have the opportunity to see if you were able to replicate my issue and resolve?
Do you need any additional information?
Thanks
Hey,
as @v-micsh-msft said, I've neved seen that odata.type, for LookUps I use this:
For defaultSelectedItems should be:
Text(varMainID)
And for the update of the datacard you should use:
{
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
Id: 0,
Value: DataCardValue5.Selected
}
Let me know how it goes...
Hi
I have tried to implement your suggestion. The DefaultSelectedItems requires that the value passed is a Table value. VarMainID is of type numeric. So i tried a couple of combinations using:
{
'@odata.type': "#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference",
Id: 0,
Value: DataCardValue5.Selected
}
in the DefaultSelectedItems replacing value with Text(VarMainID) and changing the Update of the DataCard to your suggestion without any success.
Is there a different approach I should use to achieve objective? The only way i can currently think of is to use one table to store the data oppose to splitting into two tables. It would be nice to know a solution to the original problem, if there is one?
Thanks
Please give me more info on the global variable "VarMainID". Is this the Id of an existing record in the LookUp?
Let's try a different approach, asumming this information:
List: TravelExpenses
LookUpField: ReceiptType
Combo Box: ReceiptTypeCombo
Items: Choices( TravelExpenses.ReceiptType )
DefaultSelectedItems: TravelExpenses.ReceiptType
DataCard:
Update: ReceiptTypeCombo.Selected
When do you want to use this default "VarMainID"? I guess only on new records?
I ran into this, too. I have a singe item Combo Box control set up. When I round-trip data, if the user doesn't change the value during the edit, it saves an empty record.
I was using this to set the DefaultSelectedItems:
[ThisItem.myDataField]
With my DataCard Update:
ComboBox1.Selected.Result
It took me a while, but I realized these are obviously different. DefaultSelectedItem(s - plural) is certainly not ComboBox1.Selected (not plural) lol..
I first came up with:
First(ComboBox1.SelectedItems).Result
Which let me get the SelectedItems from the table format into text. However, again, if I didn't interact with the Combo Box, this was blank.
The only way (I could come up with) to get the present value was at the the Data Card, and basically ignore the Combo Box:
ThisItem.myDataField
Which took me down a crazy rabbit hole of nested If() And() functions for the Update:
If( And( !IsBlank(ThisItem.myDataField), IsBlank(ComboBox1.SearchText), IsBlank(ComboBox1.Selected.Result) ), ThisItem.myDataField, And( !IsBlank(ComboBox1.SearchText), IsBlank(ComboBox1.Selected.Result) ), ComboBox1.SearchText, ComboBox1.Selected.Result )
This allows me to have the present value already selected on my Combo Box, and re-save the record without any changes. Or I can select a different value, or type a new one completely. The only thing I can't do with this is clear the value, for my needs this wouldn't be an option anyway once it was set.
Luckily I am working with a single item ComboBox, I can't imagine trying to do this with multiple. LOL
Same issue after following this great article on how to do this
https://jobs.collab365.community/powerapps-and-related-lists/
Everything works unless the user doesn't select the dropdown.
So the default value is not working and you this scenario you want to hide the drop down and always have it use the default.
According to article, you should use
DataCard : Default
{
ID : varParentItem.ID,
Value : varParentItem.ID
}
But it doesn't worked, tried many ways around this. Microsoft need to make this simple feature easier.
So need a solution to link 2 sharepoint lists.
Expense Report and
Expense Items.
One simple 1 to many relationship