ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / Developing an application or website / Controls, windows and pages / Controls: Available types / Organizer control
  • Overview
  • Manipulating Organizer controls programmatically
  • Adding an appointment
  • Filling an Organizer control with the data found in an HFSQL data file
  • Retrieving a list of appointments
  • Displaying an Organizer control from a specific date
  • Delete an appointment
  • Modifying the control display options
  • Using the context menu (AAF)
  • Management of public holidays
  • Properties specific to Organizer controls
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Overview
An Organizer control can be:
  • manipulated programmatically.
WINDEV and WEBDEV include the OrganizerXXX functions to manipulate Organizer controls.
This help page explains how to programmatically manipulate an Organizer control in a window or page. The example used in the illustration allows you to store appointments in an HFSQL database.
Manipulating Organizer controls programmatically

Adding an appointment

You can add an appointment to an Organizer control using <Organizer>.AddAppointment. This function accepts two syntaxes:
  • syntax for specifying appointment features: title, description, etc..
    // Adds an appointment to the Organizer control
    ORG_MyOrganizer.AddAppointment("Sales meeting", "201003220845", ...
    		"201003221230", "Sales")
  • syntax that handles a variable of type Appointment.
    // Declares an Appointment variable
    MyAppointment is Appointment
    // Fills the appointment
    MyAppointment.Title = "Sales meeting"
    MyAppointment.Content = "Meeting to discuss the weekly objectives."
    MyAppointment.StartDate = "201003220845"
    MyAppointment.EndDate = "201003221230"
    MyAppointment.Category = "Sales"
    MyAppointment.ID = 1
    // Adds the appointment into the control
    ORG_Organizer.AddAppointment(MyAppointment)
The BackgroundColor property of the Appointment variable is used to define a display color for an appointment. If no background color is defined, the Organizer control will automatically use the color associated with the appointment category.

Filling an Organizer control with the data found in an HFSQL data file

The records are stored in an HFSQL data file. The Organizer control can be initially filled by browsing the data file via the FOR EACH syntax and by adding each appointment via <Organizer>.AddAppointment.
// Appointment variable
MyAppointment is Appointment
// Browse through the appointments stored in the database
FOR EACH APT 
	// Fills the information of the variable
	MyAppointment.Title = APT.Title
	MyAppointment.Content = APT.Content
	MyAppointment.StartDate = APT.StartDate
	MyAppointment.EndDate = APT.EndDate
	MyAppointment.Category = APT.Category
	MyAppointment.ID = APT.APTID

	// Adds the appointment to the Organizer control
	ORG_MyOrganizer.AddAppointment(MyAppointment)

END
Reminder: It's also possible to use an Organizer control linked to a data file. For more details, see Organizer control linked to a data file.

Retrieving a list of appointments

OrganizerListAppointment is used to retrieve:
  • the list of all the appointments found in the organizer control:
    // Array containing a list of Appointment
    arrAppointmentList is array of Appointment
    // Lists of appointments
    arrAppointmentList = ORG_MyOrganizer.ListAppointment()
  • the list of appointments included between two dates:
    // List of appointments for January 2010
    arrAppointmentList is array of Appointment
    // Lists of appointments
    arrAppointmentList = ORG_MyOrganizer.ListAppointment("20100101", "20100131")
  • the appointment currently selected or hovered:
    // Selected appointment
    arrAppointmentList is array of Appointment
    arrAppointmentList = ORG_MyOrganizer.ListAppointment(orgAptSelected)

Displaying an Organizer control from a specific date

To display the Organizer control from a specific date, use <Organizer>.Position.
// Positionne l'agenda sur la date du jour
AGD_Agenda1.Position(Today())
// Positionne l'agenda au 20 décembre 2022
AGD_Agenda1.Position("20221220")

Delete an appointment

<Organizer>.DeleteAppointment is used to delete:
  • the appointment selected in the control.
  • a specific appointment.
    // Deletes the first appointment
    ORG_MyOrganizer.DeleteAppointment(1)
<Organizer>.DeleteAll deletes all the appointments from the Organizer control.

Modifying the control display options

The current display of an Organizer control can be modified by the following functions:
Using the context menu (AAF)
Management of public holidays
Public holidays can be set programmatically. Several WLanguage functions (starting with BankHolidayXXX) are available.
To define the bank holidays displayed in the Organizer controls and in the Calendar controls, you must use BankHolidayAdd. 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.
The bank holidays will be colored in green in the Organizer control.
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)
Properties specific to Organizer controls
The following properties can be used to manipulate Organizer controls.
DirectInputAPTThe DirectInputAPT property is used to determine and specify if the user can directly change the title of an appointment in a Scheduler or Organizer control.
GranularityAppointmentThe GranularityAppointment gets and changes the precision of the grid used to define appointments in Organizer or Scheduler controls. Property retained by compatibility.
GranularityDurationThe GranularityDuration property gets and sets the size of the grid to resize:
  • appointments in an Organizer control.
  • appointments in a Scheduler control.
  • events in a TimeLine control.
  • tasks in a Gantt Chart column.
GranularityMovementThe GranularityMovement property gets and sets the size of the grid to move:
  • appointments in an Organizer control.
  • appointments in a Scheduler control.
  • events in a TimeLine control.
  • tasks in a Gantt Chart column.
MaskTitleDateThe MaskTitleDate property is used to identify and change the input mask used for the title of day columns in Organizer or Scheduler controls
ModificationDurationAPTThe ModificationDurationAPT property is used to determine and specify if the user can modify the duration of an appointment in a Scheduler or Organizer control.
MovementAPTThe MovementAPT property allows you to know and specify whether users can move appointments in a Scheduler or Organizer control.
Num1stDayOfTheWeekThe Num1stDayOfTheWeek property gets and sets the 1st day of the week displayed in:
  • a Calendar control.
  • an Organizer control.
  • a Scheduler control.
  • an Edit control in Date format with Calendar.
PeriodSelectionThe PeriodSelection property is used to determine and specify if the user can select a time period in an Scheduler or Organizer control.
WorkingHourEndThe WorkingHourEnd property is used to identify and change the end time of working hours used:
  • by an Organizer control.
  • by a Scheduler control.
  • by a Gantt Chart column (in a Table or TreeView Table control).
WorkingHourStartThe WorkingHourStart property gets and sets the start time of working hours used:
  • by an Organizer control.
  • by a Scheduler control.
  • by a Gantt Chart column (in a Table or TreeView Table control).
For a complete list of WLanguage properties that can be used with Organizer controls, see Organizer control properties.
Minimum version required
  • Version 23
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/20/2024

Send a report | Local help