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 :

Case à cocher dans conteneur [WD16]


Sujet :

WinDev

  1. #1
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut Case à cocher dans conteneur
    Bonjour à tous,

    Petit problème ... Je vous joints 3 écrans qui vous permettront de comprendre plus facilement.

    Dans la colonne "Divers" qui est une colonne CONTENEUR, j'ai espacé les 3 champs de saisie possible pour vous montrer le détail.
    Nom : 1.jpg
Affichages : 903
Taille : 18,4 Ko

    Ensuite, je les aient supperposés pour que celà ressemble à mon tableau final
    Nom : 2.jpg
Affichages : 896
Taille : 21,3 Ko

    Et maintenant, le tableau en exécution
    Nom : 3.jpg
Affichages : 953
Taille : 40,9 Ko

    Pour vous montrer mon problème, j'ai fait l'essai sur les 2 colonnes nommées "Divers" et "Essai" :

    En fait je souhaite initialiser mes valeurs interrupteur à 3 états à neutre (-1=neutre, 0=false, 1=true)

    - Celà fonctionne bien dans la colonne Essai qui est une colonne de type interrupteur en ayant écrit simplement ce code à l'initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GC_COL_Essai[i] = "-1"	//-1=neutre, 0=false, 1=true
    - Celà ne fonctionne pas dans la colonne Divers qui est de type conteneur et qui contient 3 types de champ (texte, Date, interrupteur 3 états) avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    GC_COL_Divers[i].GC_INT_Divers = "-1"
     
    //les 2 autres champs étant :
    //GC_COL_Divers[i].GC_COMBO_Divers
    //GC_COL_Divers[i].GC_SAI_Divers
    A linitialisation, comment forcer à neutre (-1) ce champ interrupteur dans un conteneur ?
    Cette colonne conteneur "DIVERS" étant probablement de type texte !
    La patience est d'or, l'aide est inestimable ...

  2. #2
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 27
    Points : 29
    Points
    29
    Par défaut
    Salut,

    Juste une idée qui me vient, je n'ai jamais utilisé d'interrupteur dans un conteneur, mais as-tu essayé sans les guillemets ?( = -1)

  3. #3
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut
    GC_COL_Divers[i].GC_INT_Divers = "-1" donne le même résultat...

    Sinon, tout fonctionne à l'exception du fait que je ne peut initialiser ce point à faux ou à neutre car il met d'office vrai (1)
    La patience est d'or, l'aide est inestimable ...

  4. #4
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    Bonjour

    Les colonnes de type interrupteur doivent être associée à un des champs qu'elles contiennent pour que l'affectation/la lecture des valeur puis s'opérer.
    Voir la valeur de "Champ principal" de l'onglet général de la colonne.

  5. #5
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut
    Merci R&B mais je ne comprends pas bien le sens de ce champ principal qui est actuellement à <aucun>.

    On est bien d'accord que je n'enregistre pas les datas dans un fichier car il s'agit d'un tableau de sélections (critères de filtre).
    Par contre ce conteneur va bien contenir soit du texte, soit une date, soit "plus" qu'un booleen (interrupteur 3 états = -1,0,1).

    Je dois affecter quoi en champ principal ! GC_SAI_Divers ou GC_COMBO_Divers ou GC_INT_Divers ou aucun ...
    J'ai essayé avec chacun à tour de rôle mais ca ne change rien à priori ! Ne pourrait il pas y avoir nécessité de rafraichir l'affichage de cet interrupteur après son init ?

    Le champ GC_SAI_Divers = "Essai" par défaut à fonctionné

    Je vais essayer le champ date qui est un combo en mettant la date d'aujourd'hui par défaut !
    La patience est d'or, l'aide est inestimable ...

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 057
    Points : 9 397
    Points
    9 397
    Par défaut
    Bonjour,
    Comme suggéré par Cocopita, la syntaxe normale pour un interrupteur est
    interr1 = -1 et non interr1 = "-1".

    Mais je viens de tester, ça ne change rien.

    Les 3 syntaxes ci-dessous marchent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Table1[i].Colonne4.Interrupteur1 = -1
    Table1[i].Interrupteur1 = "-1"
    Colonne4[i].Interrupteur1 = "-1"
    Autrement dit, tout marche.
    La seule hypothèse qui reste, c'est dans les propriétés du champ interrupteur.
    Quand on crée un interrupteur, par défaut, c'est un interrupteur 2 Etats. Et il faut aller dans l'onglet détail pour dire qu'on veut un interrupteur 3 états.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  7. #7
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut
    Merci TCB92 de ton implication, mais il faut lire mes 1er post et tu te rendras compte que ce que tu dis fonctionne bien car ce n'est pas la réponse à la question que j'ai posé...

    1°) La syntaxe avec les guillemets était un essai suite à la suggestion de l'un d'entre vous.
    2°) Oui le fonctionnement en true/false est celui d'un interrupteur en mode 2 états
    3°) Moi je l'ai inscrit en 3 états dans la colonne ESSAI et cela fonctionne très bien
    4°) L'intégration dans la colonne DIVERS qui est une colonne CONTENEUR ne donne malheureusement pas la même satisfaction...

    En effet, le fonctionnement 3 états est ok mais on ne peut initialiser celle ci dans le conteneur comme on peut le faire dans une colonne interrupteur (voir tableau présenté ou il y a les 2 cas cote à cote).
    Bref tu as répondu à quelque chose qui ne correspond pas à mes attentes, mais merci qu'en même

    A suivre
    La patience est d'or, l'aide est inestimable ...

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Les champs interrupteurs en question ne seraient pas liés à une source de données qui aurait pour valeur par défaut "true" ?
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  9. #9
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut
    Non, l'ensemble des "cellules" du tableau est chargé par programmation et ne dépend pas d'un fichier quelconque.

    Le but de ce tableau est de saisir des critères selon certaines conditions et types de rubriques et ensuite j'exécute le filtre obtenu sur des données visibles dans une autre table.

    Cependant, je pourrais envisager mémoriser ces informations "critères" dans un fichier mais celà n'offre aucun intérêt particulier si ce n'est de faire un historique du filtre associé à une date de recherche.

    Voici une idée de la fenêtre... (limitée en info!)
    Nom : d.jpg
Affichages : 943
Taille : 102,4 Ko
    La patience est d'or, l'aide est inestimable ...

  10. #10
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par michel.souris Voir le message
    Les champs interrupteurs en question ne seraient pas liés à une source de données qui aurait pour valeur par défaut "true" ?
    Pour info supplémentaire, notamment pour ce champ conteneur, le résultat en fonction de la ligne sélectionnée et renseignée et de son type de la rubrique (texte, date, booléen 3 états) devrait me donner un retour au format texte de facon à l'exploiter ensuite.

    Donc ce conteneur présente ces 3 sélections possibles :
    - soit TEXTE : "Essai"
    - soit Combo : résultat texte comme "PCSOFT"
    - soit booléen : -1 ou 0 ou 1
    La patience est d'or, l'aide est inestimable ...

  11. #11
    Membre habitué Avatar de GCASPIC10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 247
    Points : 144
    Points
    144
    Par défaut
    STOP et merci à vous pour votre aide...

    C'était peine perdue et qu'elle bûche de ma part que de vous faire chercher sur ce point !

    J'ai repris mon programme commencé il y a de celà quelques mois et ne me suis pas rendu compte que dans une procédure de remplissage de valeur par défaut, je la forçais à true soit 1.
    Donc, ma tentative d'init de cette valeur que je tentais de placer était vouée à l'échec du fait qu'elle était placée avant le code d'init.
    Elle reprenait automatiquement sa valeur 1 !

    Sinon pour répondre à cocopepita, oui les interrupteur 3 états fonctionnent bien dans un conteneur...

    Merci à vous
    La patience est d'or, l'aide est inestimable ...

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

Discussions similaires

  1. cases à cocher dans un formulaire
    Par juliette2 dans le forum Access
    Réponses: 4
    Dernier message: 06/04/2006, 22h27
  2. Sélection dans un query via case à cocher dans un form
    Par Bernard123 dans le forum Access
    Réponses: 2
    Dernier message: 22/12/2005, 14h49
  3. Réponses: 24
    Dernier message: 24/11/2005, 10h28
  4. [excel vba]case à cocher dans excel pour plusieurs lignes
    Par fcoisb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/03/2005, 11h23
  5. Case à cocher dans une requête
    Par kloss dans le forum Access
    Réponses: 6
    Dernier message: 14/10/2004, 11h44

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