ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
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:
// Suppression de tous les jours fériés
BankHolidayDeleteAll()
// Initialisation des 11 jours fériés communs aux départements français et DOM/TOM
BankHolidayAdd("0101")		// 1er Janvier
BankHolidayAdd(bhEasterMonday)	// Lundi de Pâques
BankHolidayAdd("0501")		// 1er Mai
BankHolidayAdd("0508")		// 8 Mai
BankHolidayAdd(bhAscensionDay)	// Jeudi de l'Ascension
BankHolidayAdd(bhWhitMonday)	// Lundi de Pentecôte
BankHolidayAdd("0714")		// 14 Juillet
BankHolidayAdd("0815")		// 15 Août (Assomption)
BankHolidayAdd("1101")		// Toussaint
BankHolidayAdd("1111")		// 11 Novembre
BankHolidayAdd("1225")		// Noël

// Ajout de 2 jours fériés supplémentaires pour la Moselle et l'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_ CalendarSelectCount(CAL_Calendar1)
Trace(CalendarSelect(CAL_Calendar1, 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:
CalendarPositionReturns the month displayed in a Calendar control.
CalendarSelectReturns the date selected in a Calendar control.
CalendarSelectCountReturns the number of days selected in a Calendar control.
CalendarSelectMinusDeselects a date in a multi-selection Calendar control.
CalendarSelectPlusSelects 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 14
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/30/2024

Send a report | Local help