FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WEBDEV 2024
→
Choix Interrupteur dans un tableau
Choix Interrupteur dans un tableau
Débuté par Bougnaiko DAVE, 14 juil. 2024 17:52 - Aucune réponse
Connectez-vous…
Bougnaiko DAVE
#1
Posté le 14 juillet 2024 - 17:52
Bonjour,
Je rencontre un problème avec ma procédure en Webdev.
Mon tableau contient 25 candidats et l'utilisateur connecté ne doit en choisir que 10 parmi les 25. La colonne Checkbox est de type interrupteur et permet à l'utilisateur de choisir son candidat. En fonction du choix de l'utilisateur, la colonne Note reçoit la note automatiquement. Par exemple, pour le 1er choix, la colonne Note = 10, pour le 2ème choix, la colonne Note = 9, etc.
Le comportement inattendu est que mon tableau ne garde pas la sélection et désactive tout à chaque instant. Voici mon code :
//
PROCÉDURE PROCEDURE_COL_Checkbox_OnChange()
Trace("Début de PROCEDURE_COL_Checkbox_OnChange")
nCoches est un entier = 0
rang est un tableau d'entier
// Réinitialiser les notes
Trace("Réinitialisation des notes")
POUR i = 1 À TableOccurrence(TABLE_CandidatVOTBP)
TABLE_CandidatVOTBP.COL_Note[i] = 0
Trace("Note réinitialisée pour l'élément " + i)
FIN
// Compter les cases cochées et attribuer les rangs
Trace("Début du comptage des cases cochées")
POUR i = 1 À TableOccurrence(TABLE_CandidatVOTBP)
SI TABLE_CandidatVOTBP.COL_Checkbox[i] ALORS
nCoches++
rang.Ajoute(i)
Trace("Case cochée trouvée à l'index " + i)
FIN
FIN
Trace("Nombre total de cases cochées: " + nCoches)
// Attribuer les notes en fonction du rang
Trace("Attribution des notes")
POUR i = 1 À rang..Occurrence
TABLE_CandidatVOTBP.COL_Note[rang[i]] = 11 - i
Trace("Note attribuée: " + (11 - i) + " pour le rang " + i)
FIN
// Désactiver les autres cases si plus de 10 candidats sont sélectionnés
SI nCoches >= 10 ALORS
Trace("Plus de 10 candidats sélectionnés, désactivation des autres cases")
POUR i = 1 À TableOccurrence(TABLE_CandidatVOTBP)
SI TABLE_CandidatVOTBP.COL_Checkbox[i] = Faux ALORS
TABLE_CandidatVOTBP.COL_Checkbox[i] = Inactif
Trace("Case désactivée à l'index " + i)
FIN
FIN
SINON
// Activer toutes les cases si moins de 10 candidats sont sélectionnés
Trace("Moins de 10 candidats sélectionnés, activation de toutes les cases")
POUR i = 1 À TableOccurrence(TABLE_CandidatVOTBP)
TABLE_CandidatVOTBP.COL_Checkbox[i] = Actif
Trace("Case activée à l'index " + i)
FIN
FIN
Trace("Fin de PROCEDURE_COL_Checkbox_OnChange")
Merci de votre aide.
Signaler
0
0
→ Revenir à WEBDEV 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte