DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / Champ Agenda
  • Présentation
  • Manipuler le champ Agenda par programmation
  • Ajouter un rendez-vous
  • Remplir un champ Agenda avec les données présentes dans un fichier de données HFSQL
  • Récupérer une liste de rendez-vous
  • Afficher un champ Agenda à partir d'une date spécifique
  • Supprimer un rendez-vous
  • Modifier l'affichage du champ
  • Utilisation du menu contextuel (FAA)
  • Possibilités du menu contextuel
  • Utilisation avancée des événements avec procédure
  • Gestion des jours fériés
  • Propriétés spécifiques aux champs Agenda
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
Un champ Agenda peut être :
Pour manipuler un champ Agenda par programmation, WINDEV et WEBDEV propose les fonctions AgendaXXX.
Cette page d'aide détaille comment manipuler un champ Agenda présent dans une fenêtre ou une page par programmation. L'exemple utilisé en illustration permet de mémoriser les rendez-vous dans une base de données HFSQL.
Manipuler le champ Agenda par programmation

Ajouter un rendez-vous

L'ajout d'un rendez-vous dans un champ Agenda est réalisé grâce à la fonction <Agenda>.AjouteRendezVous. Cette fonction accepte deux syntaxes :
  • syntaxe permettant de préciser les caractéristiques du rendez-vous : titre, description, etc.
    // Ajoute un rendez-vous dans le champ Agenda
    AGD_MonAgenda.AjouteRendezVous("Réunion commercial", "201003220845", ...
    		"201003221230", "Commerciale")
  • syntaxe manipulant une variable de type RendezVous.
    // Déclare une variable de type RendezVous
    MonRendezVous est un RendezVous
    // Remplit le rendez-vous
    MonRendezVous.Titre = "Réunion commerciale"
    MonRendezVous.Contenu = "Réunion pour définir les objectifs de la semaine"
    MonRendezVous.DateDébut = "201003220845"
    MonRendezVous.DateFin = "201003221230"
    MonRendezVous.Catégorie = "Commerciale"
    MonRendezVous.ID = 1
    // Ajoute le rendez-vous au champ
    AGD_Agenda.AjouteRendezVous(MonRendezVous)
La propriété CouleurFond de la variable RendezVous permet de définir une couleur d'affichage pour un rendez-vous. Si aucune couleur de fond n'est définie, le champ Agenda utilisera automatiquement la couleur associée à la catégorie du rendez-vous.

Remplir un champ Agenda avec les données présentes dans un fichier de données HFSQL

Les enregistrements sont stockés dans un fichier de données HFSQL. Le remplissage initial du champ Agenda peut être réalisé par un parcours du fichier de données via la syntaxe POUR TOUT et par l'ajout de chaque rendez-vous via la fonction <Agenda>.AjouteRendezVous.
// Variable de type RendezVous
MonRendezVous est un RendezVous
// Parcours des rendez-vous mémorisés dans la base de données
POUR TOUT RDV 
	// Remplit les informations de la variable
	MonRendezVous.Titre = RDV.Titre
	MonRendezVous.Contenu = RDV.Contenu
	MonRendezVous.DateDébut = RDV.DateDébut
	MonRendezVous.DateFin = RDV.DateFin
	MonRendezVous.Catégorie = RDV.Catégorie
	MonRendezVous.ID = RDV.IDRDV

	// Ajoute le rendez-vous au champ Agenda
	AGD_MonAgenda.AjouteRendezVous(MonRendezVous)

FIN
Rappel : Il est également possible d'utiliser un champ Agenda lié à un fichier de données. Pour plus de détails, consultez Champ Agenda lié à un fichier de données.

Récupérer une liste de rendez-vous

La fonction <Agenda>.ListeRendezVous permet de récupérer :
  • la liste de tous les rendez-vous du champ Agenda :
    // Tableau contenant une liste de RendezVous
    tabListeRendezVous est un tableau de RendezVous
    // Liste des rendez-vous
    tabListeRendezVous = AGD_MonAgenda.ListeRendezVous()
  • la liste des rendez-vous compris entre deux dates :
    // Liste des rendez-vous de Janvier 2010
    tabListeRendezVous est un tableau de RendezVous
    // Liste des rendez-vous
    tabListeRendezVous = AGD_MonAgenda.ListeRendezVous("20100101", "20100131")
  • le rendez-vous actuellement sélectionné ou survolé :
    // Rendez-vous sélectionné
    tabListeRendezVous est un tableau de RendezVous
    tabListeRendezVous = AGD_MonAgenda.ListeRendezVous(agRdvSélectionné)

Afficher un champ Agenda à partir d'une date spécifique

Pour afficher le champ Agenda à partir d'une date spécifique, utilisez la fonction <Agenda>.Position.
// Positionne l'agenda sur la date du jour
AGD_Agenda1.Position(DateDuJour())
// Positionne l'agenda au 20 décembre 2022
AGD_Agenda1.Position("20221220")

Supprimer un rendez-vous

La fonction <Agenda>.SupprimeRendezVous permet de supprimer :
  • le rendez-vous sélectionné dans le champ.
  • un rendez-vous précis.
    // Supprime le premier rendez-vous
    AGD_MonAgenda.SupprimeRendezVous(1)
La fonction <Agenda>.SupprimeTout permet de supprimer tous les rendez-vous présents dans le champ Agenda.

Modifier l'affichage du champ

L'affichage courant d'un champ Agenda peut être modifié via les fonctions suivantes :
Utilisation du menu contextuel (FAA)
WINDEV

Possibilités du menu contextuel

Via le menu contextuel du champ Agenda, il est possible de :
  • modifier le mode d'affichage du champ,
  • ajouter, modifier ou supprimer un rendez-vous.
Pour sauvegarder les opérations réalisées, il est nécessaire d'utiliser les événements du champ Agenda.
Dans l'événement concerné, il suffit de récupérer le rendez-vous en cours d'utilisation et de faire le traitement correspondant.
Exemple : Pour mémoriser dans un fichier de données RDV, un rendez-vous que l'utilisateur ajoute via le menu contextuel, il suffit de saisir dans l'événement "Entrée en saisie d'un rendez-vous" :
PROCÉDURE Edition(rdvEdité est un RendezVous)

// Mémorisation des données
RDV.Titre = rdvEdité.Titre
RDV.DateDébut = rdvEdité.DateDébut
RDV.DateFin = rdvEdité.DateFin
...
HAjoute(RDV)
Le même type de code peut être mis en place pour les différents événements du champ Agenda. En effet, pour chaque événement du champ qui manipule un rendez-vous, une procédure a été déclarée automatiquement par le champ Agenda.
Ces procédures reçoivent en paramètre une variable de type RendezVous. Cette variable contient les caractéristiques du rendez-vous concerné par l'événement.
WINDEVAndroidiPhone/iPad

Utilisation avancée des événements avec procédure

Il est également possible de proposer à l'utilisateur de définir plus précisément les caractéristiques de son rendez-vous lors d'un ajout ou d'une modification. Il suffit pour cela de créer une fenêtre avec les informations à remplir.
Dans le code, il suffit d'ouvrir la fenêtre par exemple dans l'événement "Entrée en saisie d'un rendez-vous". Pour bloquer la saisie directe par le menu contextuel de l'agenda, l'événement doit alors renvoyer Faux.
Ce principe peut être appliqué à tous les événements appelés par le menu contextuel du champ Agenda.
Exemple :
PROCÉDURE Edition(rdvEdité est un RendezVous)
// Ouvre la fenêtre de saisie d'un rendez-vous 
// avec le rendez-vous sélectionné (en mode Création ou Modification)
Ouvre(FEN_SaisieRDV_HFSQL, rdvEdité)
// Renvoie FAUX pour bloquer la saisie directe dans le champ Agenda
RENVOYER Faux
Gestion des jours fériés
La gestion des jours fériés est réalisée par programmation. Le WLangage met à votre disposition plusieurs fonctions débutant par JourFériéXXX.
Pour définir les jours fériés affichés dans les champs Agenda et les champs Calendrier, il faut utiliser la fonction JourFériéAjoute. Cette fonction permet de définir la liste des jours fériés à utiliser. Cette fonction permet de personnaliser les jours fériés en fonction du pays et de la réglementation locale. Cette fonction doit être utilisée au début de l'application car elle a un effet global sur l'application.
Les jours fériés seront colorés en vert dans le champ Agenda.
Exemple :
// Suppression de tous les jours fériés
JourFériéSupprimeTout()
// Initialisation des 11 jours fériés communs aux départements français et DOM/TOM
JourFériéAjoute("0101")		// 1er Janvier
JourFériéAjoute(jfLundiDePâques)	// Lundi de Pâques
JourFériéAjoute("0501")		// 1er Mai
JourFériéAjoute("0508")		// 8 Mai
JourFériéAjoute(jfJeudiDeLAscension)	// Jeudi de l'Ascension
JourFériéAjoute(jfLundiDePentecôte)	// Lundi de Pentecôte
JourFériéAjoute("0714")		// 14 Juillet
JourFériéAjoute("0815")		// 15 Août (Assomption)
JourFériéAjoute("1101")		// Toussaint
JourFériéAjoute("1111")		// 11 Novembre
JourFériéAjoute("1225")		// Noël

// Ajout de 2 jours fériés supplémentaires pour la Moselle et l'Alsace
JourFériéAjoute("1226" + RC + jfVendrediSaint)
Propriétés spécifiques aux champs Agenda
Les propriétés suivantes sont spécifiques à la gestion d'un champ Agenda par programmation.
DéplacementRDVLa propriété DéplacementRDV permet de savoir et d'indiquer si l'utilisateur peut déplacer un rendez-vous dans un champ Planning ou dans un champ Agenda.
GranularitéDéplacementLa propriété GranularitéDéplacement permet de connaître et de modifier la taille de la grille pour le déplacement :
  • des rendez-vous d'un champ Agenda.
  • des rendez-vous d'un champ Planning.
  • des événements d'un champ TimeLine.
  • des tâches d'une colonne de type Diagramme de Gantt.
GranularitéDuréeLa propriété GranularitéDurée permet de connaître et de modifier la taille de la grille utilisée pour le redimensionnement :
  • des rendez-vous d'un champ Agenda.
  • des rendez-vous d'un champ Planning.
  • des événements d'un champ TimeLine.
  • des tâches d'une colonne de type Diagramme de Gantt.
GranularitéRendezVousLa propriété GranularitéRendezVous permet de connaître et de modifier la précision de la grille utilisée par le champ Agenda ou le champ Planning pour définir les rendez-vous. Propriété conservée par compatibilité.
HeureOuvrableDébutLa propriété HeureOuvrableDébut permet de connaître et de modifier l'heure de début des heures ouvrables utilisées :
  • par un champ Agenda.
  • par un champ Planning.
  • par une colonne de type Diagramme de Gantt (dans un champ Table ou Table hiérarchique).
HeureOuvrableFinLa propriété HeureOuvrableFin permet de connaître et de modifier l'heure de fin des heures ouvrables utilisées :
  • par un champ Agenda.
  • par un champ Planning.
  • par une colonne de type Diagramme de Gantt (dans un champ Table ou Table hiérarchique).
MasqueTitreDateLa propriété MasqueTitreDate permet de connaître ou de modifier le masque utilisé pour le titre des colonnes des jours dans un champ Agenda ou dans un champ Planning.
ModificationDuréeRDVLa propriété ModificationDuréeRDV permet de savoir et d'indiquer si l'utilisateur peut modifier la durée d'un rendez-vous dans un champ Planning ou Agenda.
Num1erJourDeLaSemaineLa propriété Num1erJourDeLaSemaine permet de connaître et de modifier le 1er jour de la semaine affiché dans :
  • un champ Calendrier.
  • un champ Agenda.
  • un champ Planning.
  • un champ de saisie au format Date avec Calendrier.
SaisieDirecteRDVLa propriété SaisieDirecteRDV permet de savoir et d'indiquer si l'utilisateur peut modifier directement le titre d'un rendez-vous dans un champ Planning ou dans un champ Agenda.
SélectionPériodeLa propriété SélectionPériode permet de savoir et d'indiquer si l'utilisateur peut sélectionner une période dans un champ Planning ou dans un champ Agenda.
Pour connaître la liste complète des propriétés du WLangage pouvant être utilisées avec un champ de type Agenda, consultez Propriétés associées au champ Agenda.
Version minimum requise
  • Version 23
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale