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 Tableau de bord
  • Présentation
  • Manipuler le champ Tableau de bord par programmation
  • Ajouter un Widget
  • Exécuter une procédure définie pour une fenêtre ou une page interne (utilisée en Widget)
  • Manipuler un Widget par programmation
  • Réaliser un Drag and Drop d'un Widget sur un champ Tableau de bord
  • Propriétés spécifiques aux champs Tableau de bord
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
Manipuler un champ Tableau de bord par programmation (syntaxe préfixée)
Présentation
Pour manipuler un champ Tableau de bord par programmation, WINDEV, WEBDEV et WINDEV Mobile proposent les fonctions de gestion des Tableaux de bord.
Cette page d'aide détaille comment manipuler un champ Tableau de bord par programmation.
Linux Remarque : Le champ Tableau de bord est disponible en Linux uniquement dans les sites WEBDEV Linux. Le champ Tableau de bord n'est pas disponible dans les applications WINDEV pour Linux.
Manipuler le champ Tableau de bord par programmation

Ajouter un Widget

L'ajout des Widgets dans un champ Tableau de bord par programmation est réalisé via la fonction <Tableau de bord>.AjouteWidget. Par défaut, ce Widget est invisible. Il est possible de l'afficher en utilisant la propriété Visible. Si le Widget n'est pas rendu directement visible, l'utilisateur pourra le rendre visible via le menu contextuel du mode édition.
Exemples :
  • Ajout d'un Widget simple (sans paramètres) :
    // Ajoute un Widget simple
    nIndice = TDB_TableauDeBord.AjouteWidget(FI_Widget_AlerteStock, "Alerte stock")
  • Ajout d'un Widget avec paramètres :
    nIndice est un entier

    // Ajoute un widget qui attend des paramètres
    nIndice = TDB_TableauDeBord.AjouteWidget(FI_Widget_Horloge, ...
    "Horloge " + COMBO_AjoutWidget[COMBO_AjoutWidget].ValeurAffichée, ...
    COMBO_AjoutWidget[COMBO_AjoutWidget].ValeurAffichée)

    // Affiche ce widget Ã  la demande
    SI OuiNon(Oui, "Souhaitez-vous afficher ce widget ?") = Oui ALORS
    TDB_TableauDeBord[nIndice].Visible = Vrai
    SINON
    ToastAffiche("Widget ajouté au tableau de bord en ""caché"". "+ ...
    "Passez en mode Ã©dition pour l'ajouter", toastCourt, cvMilieu, chCentre)
    FIN
Cas particulier : ajouter un Widget dans la configuration initiale
Par défaut, le champ Tableau de bord affiche les Widgets tels qu'ils ont été définis sous l'éditeur de fenêtres ou de pages.
Pour ajouter des Widgets par programmation au chargement du champ Tableau de bord, il suffit d'utiliser :
Attention : Dans ce cas, ces fonctions doivent obligatoirement être utilisées dans l'événement "Initialisation" du champ Tableau de bord.
Exemples :
  • Ajout d'un Widget simple (sans paramètres)
    // --- Initialisation du champ TDB_TableauDeBord
    // - alerte de stock
    // Ajoute le widget
    nIndice = TDB_TableauDeBord.AjouteWidget(FI_Widget_AlerteStock, "Alerte stock")
    // Configure le widget (calé Ã  gauche)
    TDB_TableauDeBord.ConfigurationInitiale(nIndice, 5, 1)
  • Ajout d'un widget avec paramètres
    // --- Initialisation du champ TDB_TableauDeBord

    dDate est une Date
    nIndice est un entier
    nX, nY sont des entiers

    // Ajoute des informations dans la configuration initiale :
    // - chiffres clés des 3 derniers mois
    nX = 1 ; nY = 3
    POUR i = 1 Ã€ 3
    // Ajoute le widget
    nIndice = TDB_TableauDeBord.AjouteWidget(FI_Widget_ChiffreClé, ...
    ChaîneConstruit("Chiffres clés de %1", ...
    dDate.VersChaîne("Mmm AAAA")), dDate)
    // Configure le widget (calé Ã  gauche)
    TDB_TableauDeBord.ConfigurationInitiale(nIndice, nX, nY)
    // Le prochain sera plus bas
    nY++
    dDate.Mois--
    FIN
Remarque : Pour rafraîchir un Widget avec paramètres, il est conseillé de :
  • Ajouter un événement optionnel de rafraîchissement du Widget dans les événements de la fenêtre ou de la page interne.
  • Saisir le code nécessaire au rafraîchissement du Widget. Ce code peut par exemple permettre de mettre à jour les éléments affichés dans la fenêtre ou la page interne.
  • Rafraîchir le Widget avec la fonction <Tableau de bord>.Affiche.

Exécuter une procédure définie pour une fenêtre ou une page interne (utilisée en Widget)

Pour exécuter une procédure définie dans la fenêtre ou la page interne utilisée en Widget, il est possible d'utiliser les syntaxes suivantes :
  • Syntaxe utilisant le nom de la fenêtre ou de la page interne :
    NomFenêtreInterne.NomProcédure(Param1, Param2, ...)

    Par exemple :
    FI_Widget_ChiffreClé.NouvelleDate(SAI_Date)
  • Syntaxe utilisant une variable de type Champ (à utiliser notamment si la même fenêtre ou page interne est utilisée plusieurs fois dans le champ Tableau de bord) :
    NomVariable est un Champ <- NomTableauDeBord[IndiceWidget]
    NomVariable.NomProcédure(Param1, Param2, ...)

    Par exemple :
    X est un Champ <-TDB_TableauDeBord[4]
    X.NouvelleDate(SAI_Date)
Manipuler un Widget par programmation
Pour manipuler un Widget par programmation, il est possible d'utiliser une des syntaxes suivantes :
  • Syntaxe 1 : Utilisation directe du champ Tableau de bord :
    NomTableauDeBord[IndiceWidget]

    Par exemple :
    Trace(TDB_MonTableauDeBord[1].Libellé)
  • Syntaxe 2 : Utilisation d'une variable de type Champ  :
    NomVariable est un Champ <- NomTableauDeBord[IndiceWidget]

    Par exemple :
    X est un Champ <-TDB_TableauDeBord[4]
    Trace(X.Libellé)
Les propriétés pouvant être utilisées sur les Widgets sont identiques à celles pouvant être utilisées sur les fenêtres ou pages internes. Pour plus de détails, consultez Propriétés associées aux fenêtres internes et Propriétés associées aux pages internes.
Réaliser un Drag and Drop d'un Widget sur un champ Tableau de bord
WINDEV WINDEV permet de réaliser un Drag and Drop programmé d'un champ Image, Liste, Zone répétée (ou autre) vers un champ Tableau de bord.
Les différentes étapes sont les suivantes :
  1. Déclarer que le champ Tableau de bord est cible du Drag and Drop.
    Cette déclaration est effectuée dans le code d'initialisation du champ grâce à la propriété DndCible.
    Exemple :
    // -- Initialisation de TDB_TableauDeBord
    // Autorise le Drag and drop
    MoiMême.DndCible = dndAuto
  2. Déclarer que le champ Tableau de bord est source du Drag and Drop.
    Dans le code d'initialisation du champ source, déclarez que le champ est source du Drag and Drop avec la propriété DndSource.
    Exemple :
    // L'image est source de Drag and Drop
    MoiMême.DndSource = dndProgrammé
  3. Définir la procédure pour le début de glisser (par exemple dans le code d'initialisation du champ Source).
    Exemple :
    // Définit une procédure pour le "début de glisser"
    // Cette procédure utilise la fonction DnDDonneElementTdb 
    // pour définir le widget Ã  dropper
    DnDEvénement(onDndDebut, MoiMême, dndDébutGlisser)
  4. Saisir le code de la procédure.
    Exemple :
    PROCÉDURE onDndDebut()

    // Selon le champ source, il faut définir le widget Ã  dropper
    SELON _DND.ChampSource
    // Indique que le drop sur le champ Tableau de bord 
    // doit ajouter le widget "Horloge" 
    // en utilisant la fenêtre interne "FI_Widget_Horloge"
    CAS IMG_Widget_Calendrier.Nom
    DnDDonneElémentTDB(FI_Widget_Calendrier, "Horloge")

    AUTRES CAS
    Erreur("Seule l'image IMG_Widget_Calendrier" + ...
    "est autorisée pour le Drag and Drop")
    FIN
Propriétés spécifiques aux champs Tableau de bord
Les propriétés suivantes sont spécifiques à la gestion d'un champ Tableau de bord par programmation.
CompacteOptionLa propriété CompacteOption permet de :
  • savoir si les options d'un champ Interrupteur, Sélecteur ou Tableau de bord sont en mode compacté.
  • passer les options d'un champ Interrupteur, Sélecteur ou Tableau de bord en mode compacté.
HauteurElémentLa propriété HauteurElément permet de :
  • Connaître ou modifier la hauteur des éléments d'un champ Organigramme.
  • Connaître ou modifier la hauteur des cellules d'un champ Tableau de bord.
LargeurElémentLa propriété LargeurElément permet de :
  • Connaître ou modifier la largeur des éléments d'un champ Organigramme.
  • Connaître ou modifier la largeur des cellules d'un champ Tableau de bord.
MargeHauteurLa propriété MargeHauteur permet de :
  • Connaître la marge verticale entre les Widgets présents dans un champ Tableau de bord.
  • Modifier la marge verticale entre les Widgets présents dans un champ Tableau de bord.
MargeLargeurLa propriété MargeLargeur permet de :
  • Connaître la marge horizontale entre les Widgets présents dans un champ Tableau de bord.
  • Modifier la marge horizontale entre les Widgets présents dans un champ Tableau de bord.
Pour connaître la liste complète des propriétés du WLangage pouvant être utilisées avec un champ de type Tableau de bord, consultez Propriétés associées au champ Tableau de bord.
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