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 :

[W28] Comportement bizarre tentative attribution focus champ table


Sujet :

WinDev

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 183
    Par défaut [W28] Comportement bizarre tentative attribution focus champ table
    Bonjour à tous,

    Dans un champ table rempli en mémoire, j'ai une colonne de type interrupteur comme le montre l'image ci-dessous :

    Nom : ChampTable_Colonneinterrupteur.jpg
Affichages : 183
Taille : 66,0 Ko

    L'idée, lorsqu'un click est réalisé sur le champ 'sélection d'une ligne' est d'automatiquement donner le focus à la colonne suivante de la même ligne afin que l'utilisateur puisse entrer une valeur. Le but de cette opération est d'attribuer des cours à une classe. De fait, si l'utilisateur décide d'attribuer un cours à une classe, j'initialise le nombre de périodes à 1 (il faut dans tous les cas au moins 1 période d'enseignement). Suite à cela, j'aimerais me positionner sur cette valeur et donner ainsi la possibilité à l'utilisateur de modifier cette valeur.
    Pour info, avant que je tente de donner le focus à cette colonne, l'utilisateur entrait une valeur mais c'était l'entête de la colonne qui avait le focus et l'information était donc saisie au mauvais endroit.

    J'ai donc ajouté un morceau de code à l'événement 'A_Chaque_modification_de_Col_Selection'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SI COL_Selection = 1 ALORS
             // si l'utilisateur sélectionne cette matière	
            COL_Périodes = 1
    	DonneFocusEtRetourUtilisateur(TABLE_REQ_MatieresParTypeEnseignement.COL_Périodes)
    	//DonneFocus(TABLE_REQ_MatieresParTypeEnseignement.COL_Périodes)
    SINON
    	COL_Périodes = 0	
    FIN

    Le résultat ne correspond pas à mes attentes ; j'ai l'impression que l'affichage ne suit pas le code. voici ce que j'obtiens :

    Le focus est bien passé à la colonne suivante (Périodes) mais ma colonne interrupteur n'affiche aucune sélection et mon champ Périodes est resté à la valeur 0

    Nom : UneFoisClickSurSelection.jpg
Affichages : 178
Taille : 38,5 Ko

    Si je mets un point d'arrêt dans mon code au niveau du test et que j'effectuer les opérations 'tranquillement' une après l'autre, j'ai un comportement des plus étranges que voici :

    Les deux premières opérations effectuent bien ce que je souhaite :

    Au click sur l'interrupteur, ce dernier est bien sélectionné
    Nom : 1 - click sur la colonne interrupeur.jpg
Affichages : 177
Taille : 69,5 Ko

    Ensuite la valeur 1 est bien attribuée dans la colonne périodes
    Nom : 2 - Attribution de la valeur 1 a la periode.jpg
Affichages : 185
Taille : 51,1 Ko

    Mais lorsque je souhaite que cette même colonne reçoive le focus, tout est effacé !?!
    Nom : 3 - DonneFocus au champ Périodes.jpg
Affichages : 179
Taille : 50,9 Ko


    Est-ce quelqu'un aurait une idée pour contourner ce problème ?
    Merci à tous

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 183
    Par défaut
    Citation Envoyé par forstera Voir le message
    Bonjour à tous,

    Dans un champ table rempli en mémoire, j'ai une colonne de type interrupteur comme le montre l'image ci-dessous :

    Nom : ChampTable_Colonneinterrupteur.jpg
Affichages : 183
Taille : 66,0 Ko

    L'idée, lorsqu'un click est réalisé sur le champ 'sélection d'une ligne' est d'automatiquement donner le focus à la colonne suivante de la même ligne afin que l'utilisateur puisse entrer une valeur. Le but de cette opération est d'attribuer des cours à une classe. De fait, si l'utilisateur décide d'attribuer un cours à une classe, j'initialise le nombre de périodes à 1 (il faut dans tous les cas au moins 1 période d'enseignement). Suite à cela, j'aimerais me positionner sur cette valeur et donner ainsi la possibilité à l'utilisateur de modifier cette valeur.
    Pour info, avant que je tente de donner le focus à cette colonne, l'utilisateur entrait une valeur mais c'était l'entête de la colonne qui avait le focus et l'information était donc saisie au mauvais endroit.

    J'ai donc ajouté un morceau de code à l'événement 'A_Chaque_modification_de_Col_Selection'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SI COL_Selection = 1 ALORS
             // si l'utilisateur sélectionne cette matière	
            COL_Périodes = 1
    	DonneFocusEtRetourUtilisateur(TABLE_REQ_MatieresParTypeEnseignement.COL_Périodes)
    	//DonneFocus(TABLE_REQ_MatieresParTypeEnseignement.COL_Périodes)
    SINON
    	COL_Périodes = 0	
    FIN

    Le résultat ne correspond pas à mes attentes ; j'ai l'impression que l'affichage ne suit pas le code. voici ce que j'obtiens :

    Le focus est bien passé à la colonne suivante (Périodes) mais ma colonne interrupteur n'affiche aucune sélection et mon champ Périodes est resté à la valeur 0

    Nom : UneFoisClickSurSelection.jpg
Affichages : 178
Taille : 38,5 Ko

    Si je mets un point d'arrêt dans mon code au niveau du test et que j'effectuer les opérations 'tranquillement' une après l'autre, j'ai un comportement des plus étranges que voici :

    Les deux premières opérations effectuent bien ce que je souhaite :

    Au click sur l'interrupteur, ce dernier est bien sélectionné
    Nom : 1 - click sur la colonne interrupeur.jpg
Affichages : 177
Taille : 69,5 Ko

    Ensuite la valeur 1 est bien attribuée dans la colonne périodes
    Nom : 2 - Attribution de la valeur 1 a la periode.jpg
Affichages : 185
Taille : 51,1 Ko

    Mais lorsque je souhaite que cette même colonne reçoive le focus, tout est effacé !?!
    Nom : 3 - DonneFocus au champ Périodes.jpg
Affichages : 179
Taille : 50,9 Ko


    Est-ce quelqu'un aurait une idée pour contourner ce problème ?
    Merci à tous
    Finalement, j'ai trouvé une solution en utilisant une autre fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     MALIGNE = IndiceEnCours()
    	COL_Périodes = 1
    	TABLE_REQ_MatieresParTypeEnseignement.DonneFocus(MALIGNE,COL_Périodes)
    	COL_Périodes.FinCurseur = Taille(COL_Périodes) + 1
    Merci à tous

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

Discussions similaires

  1. Comportement bizarre INSERT MySQL avec champ TEXT
    Par yamatoshi dans le forum Administration
    Réponses: 0
    Dernier message: 13/07/2010, 12h38
  2. Comportement bizarre INSERT MySQL avec champ TEXT
    Par yamatoshi dans le forum Requêtes
    Réponses: 0
    Dernier message: 13/07/2010, 12h38
  3. conversion bizarre champs table
    Par Lourpiop dans le forum VBA Access
    Réponses: 4
    Dernier message: 14/06/2007, 10h07
  4. Réponses: 4
    Dernier message: 26/04/2005, 11h35
  5. [Sybase] Comportement bizarre d'une table
    Par sdozias dans le forum Sybase
    Réponses: 4
    Dernier message: 03/02/2004, 10h39

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