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

Forms Oracle Discussion :

When New Item Instance


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Par défaut When New Item Instance
    Bonjour,

    Je travaille en Forms6i et ne possède pas encore la maîtrise parfaite de l'outil.

    Je suis dans un block MULTI-LIGNES et je souhaiterais que certaines de mes lignes soient DÉSACTIVEES.

    C'est à dire que sur ma ligne, j'ai par exemple un item CODE qui peut prendre la valeur ('DE', 'TR', 'EC', 'CO'), à côté de cet Item, se trouve un BOUTON qui me permet d'aller sur un autre écran que si mes codes sont (DE, TR).

    Je voudrais que sur les lignes contenant EC et CO, que surtout le Bouton ne soit pas ENABLED. Seulement, je n'ai pas cette propriété dans W-N-F-Instance.

    Comment pourrais-je résoudre le problème ?

    Merci

    Paxaranne

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Tu ne peux pas désactiver un item sur certaines lignes seulement.
    Il faut donc dans le WHEN-NEW-RECORD-INSTANCE
    tester ton champ code et faire un SET_ITEM_PROPERTY('BOUTON', ENABLED, PROPERTY_TRUE) ou PROPERTY_FALSE

    Attention, lors du clic sur un bouton d'une autre ligne, il se peut que le trigger WNRI ne soit pas encore déclenché (j'ai pas testé, mais j'ai déjà eu des problèmes)

    Sinon, tu peux jouer avec les Visual_Attribute (qui peuvent être modifiés au niveau record) et faire ton test sur le clic
    Exemple
    POST_QUERY
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    IF :bl.code IN ('DE', 'TR')
    THEN SET_ITEM_INSTANCE_PROPERTY('BL.BOUTON', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'VA_OK');
    ELSE
    SET_ITEM_INSTANCE_PROPERTY('BL.BOUTON', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'VA_KO');
    END IF;
    Avec VA_OK et VA_KO 2 visual attribute (exemple, dans le KO, tu peux mettre la couleur de texte = couleur de fond)
    Tu n'es pas obligé d'utiliser un VA_OK (qui serait le defaut, dans ce cas, un set_item_instance_property(...., '') redonne le visuel défini dans le builder.

  3. #3
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Houla, pas très clair.
    J'ai fait un test visuel

    Visual Attribute VA_KO
    Background_color = gray
    Foreground_color = gray

    Procédure P_VISUEL_BOUTON
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    IF :block2.code IN ('DE','TR')
    THEN
      SET_ITEM_INSTANCE_PROPERTY('block2.BOUTON', CURRENT_RECORD, VISUAL_ATTRIBUTE, '');
    ELSE
      SET_ITEM_INSTANCE_PROPERTY('block2.BOUTON', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'VA_KO');
    END IF;
    WHEN_BUTTON_PRESSED (BLOCK2.BOUTON)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     IF :block2.code IN ('DE','TR')
    THEN
       OPEN_FORM('blabla');
    END IF;
    POST_QUERY (BLOCK2)
    WHEN_VALIDATE_ITEM (BLOCK2.CODE)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Par défaut Merci.
    Bonjour,

    Merci pour la solution. J'étais pris à autre chose, ce pourquoi j'ai tardé.

    Désolé.

    Paranne,

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 22/08/2007, 13h41
  2. Réponses: 11
    Dernier message: 25/07/2007, 11h15
  3. [Forms 10g] When-New-Form-Instance Niveau Bloc
    Par star dans le forum Forms
    Réponses: 6
    Dernier message: 25/03/2006, 21h22
  4. [Forms 6i] Required et WHEN-VALIDATE-ITEM
    Par macben dans le forum Forms
    Réponses: 8
    Dernier message: 18/03/2006, 01h42
  5. [Forms6i] : exit_form en when-new-form-instance
    Par patmaba dans le forum Forms
    Réponses: 3
    Dernier message: 29/07/2004, 14h56

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