ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Developing an application or website / Controls, windows and pages / Controls: Available types / Calendar control
  • Overview
  • Management of public holidays
  • Managing multi-selection
  • Retrieve the multi-selection
  • Managing the selection of a time period
  • WLanguage functions
  • Functions for managing bank holidays
  • Calendar control functions
  • Properties specific to Calendar controls
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Overview
WINDEV, WEBDEV and WINDEV Mobile allow you to manipulate a Calendar control programmatically. To do so, use the variable of Calendar control in the code.
The variable of the Calendar control corresponds to the selected date (if the control is multi-selection or with period selection, the variable corresponds to the first selected date). This date uses the format specified in the "Stored format: " control found in the "General" tab of the control description. This variable is a string.
Calendar controls can be manipulated programmatically:
The Calendar control is associated with several WLanguage processes.
Remarks:
  • You can also manipulate a day of a Calendar control programmatically. For more details, see Managing the calendar days.
  • WINDEV, WEBDEV and WINDEV Mobile automatically manage the change of month or the change of year performed by the user.
Management of public holidays
Public holidays can be set programmatically. Several WLanguage functions (starting with BankHolidayXXX) are available.
BankHolidayAdd is used to define the bank holidays displayed in a Calendar control. This function allows you to define the list of public holidays to be used. This function allows you to customize the public holidays according to the country and local regulations. This function must be used at the beginning of the application because it has a global effect on the application.
Example:
// Delete all public holidays
BankHolidayDeleteAll()
// Initialize the 11 public holidays common to the French regions and territories
BankHolidayAdd("0101")		// 1st of January
BankHolidayAdd(bhEasterMonday)	// Easter Monday
BankHolidayAdd("0501")		// 1st of May
BankHolidayAdd("0508")		// 8th of May
BankHolidayAdd(bhAscensionDay)	// Ascension day
BankHolidayAdd(bhWhitMonday)	// Whit Monday
BankHolidayAdd("0714")		// 14th of July
BankHolidayAdd("0815")		// 15th of August (Assumption)
BankHolidayAdd("1101")		// All Saints' Day
BankHolidayAdd("1111")		// 11th of November
BankHolidayAdd("1225")		// Christmas

// Add 2 additional public holidays for the regions of Moselle and Alsace
BankHolidayAdd("1226" + CR + bhGoodFriday)
Managing multi-selection
WINDEVAndroidJava

Retrieve the multi-selection

A Calendar control can be multi-select: the Calendar control can then be used to select several dates.. To do so, simply check " Multi-selection" in the "Details" tab of the control description. You can also use the Multi-selection property.
To retrieve the selected dates, all you have to do is use the CalendarXXX functions of WLanguage.
Example:
// Browse the dates selected in the Calendar control
FOR I = 1 _TO_ CAL_Calendar1.SelectOccurrence()
	Trace(CAL_Calendar1.Select(I))
END
WINDEVAndroidJava

Managing the selection of a time period

A Calendar control can be used to select a period: the Calendar control can then be used to select the start and end dates of the period.. The days found between these two dates are automatically selected.
To allow the selection of a time period, " Range selection" must be checked in the "Details" tab of the control description window.
To select a period, simply click directly in the Calendar control: the first click selects the period start date, the second click selects the period end date..

WINDEVAndroidJava If the "Today" button is displayed ("Details" tab of the description window), the context menu of this button proposes preset periods. The user can easily select the requested period.
To get the start and end date of the selected time period, simply use the StartDate and EndDate WLanguage properties.
Example:
NbDays is int 
NbDays = DateDifference(CAL_Calendar1.StartDate, CAL_Calendar1.EndDate) + 1
Info("Selected period: from " + DateToString(CAL_Calendar1.StartDate) + ...
	" to " + DateToString(CAL_Calendar1.EndDate) + ...
	" which means " + NbDays + " day(s)")
WLanguage functions

Functions for managing bank holidays

The following functions are used to manage bank holidays:
BankHolidayIndicates whether a day is a public holiday or not.
BankHolidayAddIndicates that a day (or a list of days) is a public holiday.
BankHolidayDeleteAllClears the list of all public holidays.

Calendar control functions

The following functions are used to manage the Calendar control:
<Calendar>.PositionReturns the month displayed in a Calendar control.
<Calendar>.SelectReturns the date selected in a Calendar control.
<Calendar>.SelectCountReturns the number of days selected in a Calendar control.
<Calendar>.SelectMinusDeselects a date in a multi-selection Calendar control.
<Calendar>.SelectPlusSelects a date in a Calendar control.
Properties specific to Calendar controls
The following properties are specific to programmed Calendar control.
EndDateAllows you to get and change the end date of a time period selected in a Calendar control.
ImageAllows you to find out and modify the background image of Calendar control.
MaxValueAllows you to find out and modify the upper bound of Calendar control.
MemoryFormatAllows you to find out and modify the format of the value returned by the Calendar control.
MinValueAllows you to find out and modify the lower bound of Calendar control.
Multi-selectionUsed to find out and modify the selection mode of a Calendar control
StartDateAllows you to get and change the start date of a time period selected in a Calendar control.

For a complete list of WLanguage properties that can be used with Calendar controls, see Calendar control properties.
Minimum version required
  • Version 23
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/26/2024

Send a report | Local help