Hi
Is it possible to restrict calendar in book a room template to show only upcoming 7 days and grayed out all other days
Hello @mtr_windows . Unfortunately you cannot do this with the current DatePicker control. However, you can add a note next to the "Date" field explaining to the end used that the selected date cannot be greater than 7 days in the future and then validate the actual selected date. If the entered date is invalid, you can gray out the "Save" (or "Submit") button in order to prevent saving the wrong value and also display an error message. The error message could be in a Label control which becomes visible only if the entered date is invalid. For example: Label1.Visible = ((Month(DatePicker1.SelectedDate) * 100) + Day(DatePicker1.SelectedDate) - ((Month(Now()) * 100) + Day(Now()))) > 7
The formula assumes that the DatePicker is "locked" to the current year (DatePicker1.StartYear=2020, DatePicker1.AndYear=2020).
I hope this helps.
@dinusc :Thanks a lot for the reply. I don't have much background with Powerapps coding. Will you be able to explain where exactly I need to make this change in the template?
Sure thing. Since I'm not familiar with details about your app, I will assume a case of a Form control with various fields, one of which is a Date field (which needs to be set to a date that is not later than 7 days from today). You can get such an app built automatically for you when you choose one of the sources from the "Start with your data" section in Studio. In this case you would also have a "Save" button which allows you to save the form after filling all the data.
The DatePicker control cannot be configured to not allow dates later than 7 days from now (as per your requirement). It can however be limited to the current year (2020) or any other year if you need. All you need to do is unlock the form card that contains your date field, select the DatePicker control and set its both StartYear and EndYear properties to 2020 (for example).
Next thing you need to do is to make the Save button (which could be a Button or Icon control) inaccessible if a wrong date is selected. That can be done by selecting the respective button (or icon) and pasting the following formula in the "DisplayMode" field: If(((Month(DatePicker1.SelectedDate) * 100) + Day(DatePicker1.SelectedDate) - ((Month(Now()) * 100) + Day(Now()))) > 7, DisplayMode.Disabled DisplayMode.Edit)
The "DatePicker1" here is your Date picker control that is used by the user to select the date. You can find the real name in your app by selecting that control and checking the name in the properties panel on the right.
What this formula will do is it will make the "Save" button (or icon) disabled when the selected date is later than 7 days. This will prevent the user from saving the form with incorrect data. If you would like to prevent the user from selecting a date in the past then you will have to modify the formula as following: If(Month_Date_Calc_Value > 7 OR Month_Date_Calc_Value < 0, DisplayMode.Disabled DisplayMode.Edit). The Month_Date_Calc_Value here and below is the formula between "If(" and "<" above.
Finally, I was suggesting to add an extra Label to the card that hosts your Date field and make it invisible by default. The Label could contain an error message, something like "The selected date is wrong. Please provide a date that is not later than 7 days from today". It would also make sense to set the Red color for that message. You can use a very similar formula to hide the Label control containing the error message by default and show it only when the selected date is wrong: Paste Month_Date_Calc_Value > 7 OR Month_Date_Calc_Value < 0 in the "Visible" property field of the Label control.
If your app is different, you should be able to adjust the formulas to your needs.
Hope that helps.
User | Count |
---|---|
233 | |
109 | |
94 | |
59 | |
29 |
User | Count |
---|---|
293 | |
126 | |
106 | |
62 | |
57 |