cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

How to write the Two Option Set field of an entity

Hi All,

I am creating an app for offline mode and trying to write the values into CDS entity having datatype as Two Option Set from powerapps. I have tried multiple ways but didn't worked for in offline mode. I am using that in patch and collect function. I am using toggle button for that. Firslty, I used Toggle1.Value, it is working fine in patch but giving error in collect. Then I tried this- 

If(Toggle1.Value, 'IsOverdue (TaskLists)'.Yes, 'IsOverdue (TaskLists)'.No)

 this is not giving me error in both functions but it is not working in offline mode. Also, tried using dropdown and combobox still not succeed.
Referred these links as well https://powerusers.microsoft.com/t5/Common-Data-Service-for-Apps/CDS-2-choices-field-toggle-instead-...  and https://powerusers.microsoft.com/t5/Webinars-and-Video-Gallery/PowerApps-Canvas-Using-OptionSets-and...
How can I achieve that?

 

10 REPLIES 10
v-yutliu-msft
Community Support
Community Support

Hi @Anonymous ,

Could you tell me whether you use form to update two option set field?

You said that " I am using that in patch and collect function."

However, the link that you mentioned is about use form to update. Set the two option set field's datacard Update to :

If(Toggle1.Value, 'IsOverdue (TaskLists)'.Yes, 'IsOverdue (TaskLists)'.No)

 If you did not use form to update, please show me completed formula about updating.

 

What's more, do you want to build an offline and online app?

If so, the two links that you mentioned are both for online app.

If you want to build an offline app, you need to use savedata and loaddata function.

Here's a doc about how to build this kind of app in details for your reference:
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/offline-apps

 

 

Best regards,

Community Support Team _ Phoebe Liu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Hi @v-yutliu-msft ,

Thanks for your response!

I am creating offline app. And, I am not updating any data as I want to create new record. I just referred those to try things as I was not able to solve this issue. My screen look like this(Now I want to use send data to CDS of toggle button as well)

Tejasvi_munge_1-1593684346396.png

 

Here is my code-
on submit button -

If(
Connection.Connected,
Patch(
'Triage daily Replicas',
Defaults('Triage daily Replicas'),
{
cre08_temperature: Value(TextInput11.Text),
cre08_seatnumberdummy: Value(TextInput2_2.Text),   
}
),
Collect(
TriagebyBusCollection,
{
cre08_temperature: Value(TextInput11.Text),
cre08_seatnumberdummy: Value(TextInput2_2.Text),
}
);
SaveData(
TriagebyBusCollection,
"Saveitemstotriagebybus"
);
Reset(TextInput11);
Reset(TextInput2_2);

)

And here is code on app OnStart-
LoadData(
TriagebyBusCollection,
"Saveitemstotriagebybus",
true
);
If(
!IsEmpty(TriagebyBusCollection.cre08_temperature),
ForAll(
TriagebyBusCollection,
Patch(
'Triage daily Replicas',
Defaults('Triage daily Replicas'),
{
cre08_temperature: cre08_temperature,
cre08_seatnumberdummy: cre08_seatnumberdummy,
}
)
);

And on on visible of my landing screen -
ClearCollect(
TriagebyBusCollection,
'Triage daily Replicas'
);
Issue is I am not able to send the data of toggle button into CDS using above code just like the other parameters like temperature. How can I do that? The fever column in CDS has two option as datatype (having items Yes and No)

Hi @Anonymous ,

Two option set is special data type in CDS.

So formula should be a little different.

Try this:

on submit button -

If(
Connection.Connected,
Patch(
'Triage daily Replicas',
Defaults('Triage daily Replicas'),
{
cre08_temperature: Value(TextInput11.Text),
cre08_seatnumberdummy: Value(TextInput2_2.Text),

twooptionfieldname:If(Toggle1.Value, 'IsOverdue (TaskLists)'.Yes, 'IsOverdue (TaskLists)'.No)


}
),
Collect(
TriagebyBusCollection,
{
cre08_temperature: Value(TextInput11.Text),
cre08_seatnumberdummy: Value(TextInput2_2.Text),

twooptionfieldname:If(Toggle1.Value, 'IsOverdue (TaskLists)'.Yes, 'IsOverdue (TaskLists)'.No)
}
);
SaveData(
TriagebyBusCollection,
"Saveitemstotriagebybus"
);
Reset(TextInput11);
Reset(TextInput2_2);

)

And here is code on app OnStart-
LoadData(
TriagebyBusCollection,
"Saveitemstotriagebybus",
true
);
If(
!IsEmpty(TriagebyBusCollection.cre08_temperature),
ForAll(
TriagebyBusCollection,
Patch(
'Triage daily Replicas',
Defaults('Triage daily Replicas'),
{
cre08_temperature: cre08_temperature,
cre08_seatnumberdummy: cre08_seatnumberdummy,

twooptionfieldname:If(Toggle1.Value, 'IsOverdue (TaskLists)'.Yes, 'IsOverdue (TaskLists)'.No)
}
)
);

And on on visible of my landing screen -
ClearCollect(
TriagebyBusCollection,
'Triage daily Replicas'
);

 

//please replace with the twooptionfieldname

 

 

Best regards,

Community Support Team _ Phoebe Liu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Hi @v-yutliu-msft ,

Thanks for your response!

I have tried that but it is not working in offline mode. Data is not getting inserted when I come online. Any other solution?

Hi @Anonymous ,

Maybe you could consider use a drop down to update two option set field.

For example:

set the drop down's Items:

Choices('Triage daily Replicas'.twooptionfieldname)

Use this to update   two option set field:

Dropdown2.Selected.Value

Just like this:

{
cre08_temperature: Value(TextInput11.Text),
cre08_seatnumberdummy: Value(TextInput2_2.Text),

twooptionfieldname:Dropdown2.Selected.Value


}

 

 

The offline part please follow the steps in the doc, check whether you made any mistake.

 

 

Best regards,

Community Support Team _ Phoebe Liu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi @Anonymous ,

I think I found the problem:

 the OptionSet Combo box values (Items property) in your Edit form would be populated only when you new or edit the Edit form rather than when you load your app.

If your app is in Offline status before you create a new form or edit a form, the OptionSet ComboBox would not be populated with values from your data source (Dynamics 365 or CDS Entity) when you navigate to the edit screen.

Someone has figured out the solution about how to saving option set value offline, please refer his solution:

https://powerusers.microsoft.com/t5/Building-Power-Apps/Choices-function-with-OptionSet-not-usable-offline-anymore/m-p/413127

 

 

Best regards,

Community Support Team _ Phoebe Liu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Hi @v-yutliu-msft ,

I have checked the code. If I remove toggle part from code It is working fine as expected. Also, If I use dropdown or any other input here I think I will not be able to insert data into CDS because of two option datatype. It will throw error. 

Anonymous
Not applicable

hi @v-yutliu-msft ,

Actually I am not using any form. Those are all individual items(label, textinput and toggle ) in one screen. Thanks for the link tho will check

Hi @Anonymous ,

Yes, the key point is to save option set data type in offline mode.

Have you tried the solution in that link?

Does it work?

If yes,  could you mark my answer as solution?
Thanks!

 

 

Best regards,

Community Support Team _ Phoebe Liu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Community Call Conversations

Introducing the Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Users online (4,843)