IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Code de sélection de jours dans champ calendrier [WD16]


Sujet :

WinDev

  1. #1
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut Code de sélection de jours dans champ calendrier
    Bonsoir,

    J'ai un soucis avec un champ calendrier en multi-sélection.

    Dans le code de sélection d'un jour du champ, j’exécute une requête avec comme paramètre la plage de jours sélectionné mais je remarque que le fonctionnement du champ calendrier n'est pas top car si on sélectionne par exemple tous les jours du 1er au 6 juillet 2014, le code de sélection va s’exécuter 6 fois ! C'est plutôt logique mais ce n'est pas le fonctionnement que j'attends.

    Car utilisant CalendrierSelectOccurrence() pour récupérer tous les jours sélectionnés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    POUR i = 1 _A_ CalendrierSelectOccurrence(CAL_Calendrier1)
        Trace(CalendrierSelect(CAL_Calendrier1,i))
    FIN
    Je me retrouve avec ma requête qui s’exécute plusieurs fois pour rien, alors que ce n'est que la 6ème exécution qui serait la bonne avec la plage tot!

    Avez-vous une idée pour palier à ce soucis svp ?

    Merci à tous.

  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    hello WDKyle,
    c'est un peu dangereux d'exécuter du code à la volée sur une sélection multiple. Moi ce que je te conseille c'est de ne pas utiliser de code sur la sélection mais de rajouter un bouton sur lequel tu cliques quand ta sélection de période est bonne et stabilisée sur ton calendrier. Ton code du bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    POUR i = 1 _A_ CalendrierSelectOccurrence(Calendrier1)
    	Trace(CalendrierSelect(Calendrier1,i))
    FIN
    ne sera alors exécuté qu'une seule fois.

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Merci jurassic pork, mais ta solution de mettre un bouton ne me conviens pas vraiment

    Ma requete doit remplir une table automatiquement...

  4. #4
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    J'ai trouvé une astuce, elle vaut ce qu'elle vaut mais elle à l'air de fonctionner.

    J'intercepte les clics sur un seul jour avec le code de sélection d'un jour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SI ToucheEnfoncée(VK_CONTROL) = Faux ET ToucheEnfoncée(VK_SHIFT) = Faux ALORS
    	Trace("Clic " + CalendrierSelect(CAL_Planning))
    FIN
    Et les sélections multiples dans le code de Touche relâchée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SI (_EVE.wParam = VK_CONTROL) OU (_EVE.wParam = VK_SHIFT) ALORS
    	POUR i = 1 _A_ CalendrierSelectOccurrence(CAL_Planning)
    		Trace("Multi " + CalendrierSelect(CAL_Planning, i))
    	FIN
    FIN

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASP] Sélection de dates dans un calendrier
    Par benoit85 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 06/03/2009, 10h59
  2. Affichage des jours dans un calendrier
    Par palisse dans le forum Flash
    Réponses: 0
    Dernier message: 01/03/2009, 20h26
  3. Réponses: 3
    Dernier message: 23/08/2006, 15h27
  4. Couleur pour certains jours dans un calendrier
    Par striker90 dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/05/2006, 21h22
  5. affiche date du jour dans champ texte
    Par pascal.cargouet dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/01/2005, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo