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

Checkbox for calender days?

I am trying to add a section in a canvas app that has checkboxes next to the calendar. The goal here is for each checkbox to select a week in the shown calendar, preferably just the Tuesday and Thursday of that week and set the value for a desk reservation. I have the rest of the app functioning but need to be able to set the correct days to the checked out variable. Any ideas? My googlefu is failing me on this one.

17 REPLIES 17
v-bofeng-msft
Community Support
Community Support

Hi @Anonymous :

Do you want to add multiple checkboxes behind a calendar to select Tuesday and Thursday of the week?

If so,Using calendar screen is a good choice.I've made a test for your reference:

Step1:Add a calendar screen

1.JPG

Step2:Add five check boxes(Checkbox1/2/3/4/5)

2.JPG

3\Modify these check boxes:

CheckBox1

OnCheck

 

Collect(Thecollection,{Date:DateAdd(_firstDayInView,2,Days)},{Date:DateAdd(_firstDayInView,4,Days)})  /*Thecollection is my custom collection*/

 

OnUncheck

 

Remove(Thecollection,{Date:DateAdd(_firstDayInView,2,Days)},{Date:DateAdd(_firstDayInView,4,Days)})

 

CheckBox2

OnCheck

 

Collect(Thecollection,{Date:DateAdd(_firstDayInView,9,Days)},{Date:DateAdd(_firstDayInView,11,Days)})

 

 OnUncheck

 

Remove(Thecollection,{Date:DateAdd(_firstDayInView,9,Days)},{Date:DateAdd(_firstDayInView,11,Days)})

 

CheckBox3

OnCheck

 

 

Collect(Thecollection,{Date:DateAdd(_firstDayInView,16,Days)},{Date:DateAdd(_firstDayInView,18,Days)})

 

 

 OnUncheck

 

 

Remove(Thecollection,{Date:DateAdd(_firstDayInView,16,Days)},{Date:DateAdd(_firstDayInView,18,Days)})

 

CheckBox4

OnCheck

 

 

Collect(Thecollection,{Date:DateAdd(_firstDayInView,23,Days)},{Date:DateAdd(_firstDayInView,25,Days)})

 

 

 OnUncheck

 

 

Remove(Thecollection,{Date:DateAdd(_firstDayInView,23,Days)},{Date:DateAdd(_firstDayInView,25,Days)})

 

 

 

CheckBox5

OnCheck

 

 

Collect(Thecollection,{Date:DateAdd(_firstDayInView,30,Days)},{Date:DateAdd(_firstDayInView,32,Days)})

 

 

 OnUncheck

 

 

Remove(Thecollection,{Date:DateAdd(_firstDayInView,30,Days)},{Date:DateAdd(_firstDayInView,32,Days)})

 

 

  • When chenkbox triggers the Oncheck event, the Tuesday and Thursday of the week will be saved in the collection named "Thecollection".
  • When chenkbox triggers the OnUncheck event, the Tuesday and Thursday of the week will be deleted.

81.gif

Best Regards,

Bof

Anonymous
Not applicable

Thanks for the awesome write up! Unfortunately it wont quite work for what I am doing and that is my fault for not adding more details, so I apologize. This particular app must save everything to two lists (this was handed off to me after being deployed from a template found here: https://github.com/aprildunnam/PowerApps/tree/master/Desk%20Reservation%20Template) I apologize for all the questions but I am VERY new to power apps and kind of stumbling through this trying to use templates, documentation, and videos to figure things out. I got the above template working perfectly, but my managers wanted a few changes such as adding checkboxes that would only select Tuesday and Thursday.

So I guess my question now is, should I delete my current date selection screen and go this route and try and pull the calendar event into a Sharepoint list, or should I continue to try and edit my current setup to write the Tuesdays and Thursdays into the list? 

 

Thank you again for the information, as I am sure this will come in VERY handy for future projects. 

Hi @Anonymous :

I can not open the link you provided.

Could you describe your app in detail and provide some screenshots?

Best Regards,

Bof

Anonymous
Not applicable

@v-bofeng-msft absolutely! Thanks again for the help:

So the app is designed to allow desks to be reserved using a two lists in sharepoint, on of desks that exists, this list is not edited, and on called "Desk Reservations" which is edited. The latter list is written too whenever someone chooses a desk adding the email of the user, the dates selected, and the desk name, which then filters that desk out of other users choices during the selected time frame. The way the original app was written allowed users to select multiple days from the date picker, let me provide some screenshots for reference: 

Screen1 shows current reservations and has buttons to show detailed reservation info as well as make a new booking:

TClark_Pax8_0-1599662410030.png


Screen2 is where I am stuck. In this screenshot the date picker is still there but I was unable to get the check boxes to actually translate to dates in the calendar hence my post here:

TClark_Pax8_1-1599662465589.png

 

Screen3 allows the user to pick a desk they wish to reserve and should show the timeframe they have selected. 

TClark_Pax8_2-1599662511505.png


Once done they get a confirmation screen which should show the desk chosen (none selected in image) and the dates chosen allowing them to confirm or go back and change information:

TClark_Pax8_3-1599662559602.png

 

When confirm is hit it will give them a confirmation page and redirect to the first screen showing the reservation:

TClark_Pax8_4-1599662606569.png

The template worked flawlessly but management had requested the changes of having it only select Tuesday's and Thursday's and using checkboxes to select the weeks the user wants to reserve rather than individual days. Eventually I will also need to limit the calendar to only allow reservations 90 days out as well so that users can only reserve desks up to 3 months out.

I was able to get the screen you suggested working but have been having trouble getting it to link up to the rest of the app and write to the sharepoint list and my googlefu has failed me on figuring out how to pull the data in the collection and write it to the corresponding list values so the rest of the app functions properly with the screen you had suggested. 



Hi @Anonymous :

If my understanding is wrong, please help me point it out:

  • After the user selects week in the checkbox, these date need to be selected in the calendar in the template.

If so,I need to know the detailed settings of this calendar.

As far as I know, the gallery cannot select multiple items. If your calendar has this function, this template may be quite complicated. I need to know as much detail as possible.

Best Regards,

Bof

Anonymous
Not applicable

@v-bofeng-msft  that function is not in there at this time. Even if I could simply have the checkbox write dates pulled from the calendar to the list that would be perfect. The calendar can simply be a visual element to assist the user in seeing what they are selecting, the biggest goal is to write the dates from the collection in the example you provided to a list that already exists in sharepoint via a variable that is held in the app. Is there a way to get data from the collection and apply it to a variable or sharepoint list?

Hi @Anonymous :

Q:Is there a way to get data from the collection and apply it to a variable or sharepoint list?

A:Yes.But this question is too broad. Could you describe it in detail?

Best Regards,

Bof

Anonymous
Not applicable

@v-bofeng-msft my apologies. What I need to do is transfer the date selected and place it into a list. So I need to be able to get the selected dates in the collection and move them to two variables. The beginning date needs to be placed in a variable/list column CheckOutFrom and the ending date CheckOutTo. Once I can get the beginning and ending dates placed into those two variables I should be all set. 

Hi @Anonymous :

The following is my understanding, please point it out if there is an error:

  • The user selects a certain week and then automatically creates a new record.
  • This record has two fields, the value of CheckOutFrom is the start date of the week, and CheckOutTo is the end date of the week.

If so,just make some small changes to my previous solution.Please try:

CheckBox1

OnCheck

Collect(
  Thecollection,
  {
    CheckOutFrom :DateAdd(_firstDayInView,1,Days),
    CheckOutTo :DateAdd(_firstDayInView,7,Days)
   }
)  /*Thecollection is my custom collection*/

OnUncheck

Remove(
  Thecollection,
  {
    CheckOutFrom :DateAdd(_firstDayInView,1,Days),
    CheckOutTo :DateAdd(_firstDayInView,7,Days)
   }
)  /*Thecollection is my custom collection*/

……

Best Regards

Bof

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.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (5,592)