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 :

[Débutant][forms 6i] désactivation d'item


Sujet :

Forms Oracle

  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut [Débutant][forms 6i] désactivation d'item
    Bonjour,

    Sous forms 6i, je cherche à rendre actif / désactif 2 items, accessibles en consultation ou insertion, nommés AN1_MONTANT / AN1_LIBEL selon la politique suivante.
    Suivant la valeur d'un autre élément (externe à ma question et que je matérialise par ORIGINE) quand l'une de ces 2 zones est activée, l'autre est désactivée et inversement.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ORIGINE | AN1_MONTANT | AN1_LIBEL
    0 xxx 1.23
    1 12 xxx
    1 80 xxx
    1 91 xxx
    0 xxx 21
    ...
    où xxx représente une zone inactive.

    Mon problème est qu'en utilisant la procédure interne SET_ITEM_PROPERTY les activations / désactivations s'appliquent sur toute la colonne et non sur UNE cellule.
    D'autre part, j'ai essayé d'utiliser SET_ITEM_INSTANCE_PROPERTY mais cette procédure interne ne prend pas en paramètre de propriété visible ou enabled (?).

    En résumé et exprimé très grossièrement : comment gérer (est-ce possible ?) la (dés)activation de 2 zones au niveau de chaque cellule et non pour chaque colonne ?

    Je ne dois pas être très clair alors n'hésitez pas à me demander plus d'explications.

    Merci d'avance.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    La réponse est... ce n'est pas possible.

    La seule chose que tu peux faire est :
    - rendre ces items non modifiables
    - rendre ces items non navigables
    - changer leur visual attribute pour donner l'impression qu'ils sont inactifs
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Salut plaineR et merci encore de ta rapidité,

    Citation Envoyé par plaineR
    La réponse est... ce n'est pas possible
    Ah.
    Comme je suis débutant je risque de poster pas mal de demandes de choses impossibles donc d'avance mea culpa.

    Citation Envoyé par plaineR
    La seule chose que tu peux faire est :
    - rendre ces items non modifiables
    Cela va être déstabilisant pour l'utilisateur final s'il n'a pas d'élément visuel lui permettant de comprendre qu'il ne peut pas saisir de valeur dans une zone non modifiable, non ?

    Citation Envoyé par plaineR
    - rendre ces items non navigables
    - changer leur visual attribute pour donner l'impression qu'ils sont inactifs
    ces 2 solutions me paraissent intéressantes et tu ferais ça comment : avec SET_ITEM_INSTANCE_PROPERTY ?
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  4. #4
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    En fait pour donner l'impression que l'item n'est pas actif, il faut faire les 3 choses que je t'ai proposée. Au préalable, il faut créer un visual attribute (cf. tuto de SheikYerbouti) qui va donner l'impression que ton item est inactif (voire un autre pour ton item actif). Ensuite tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ... then
       set_item_instance_property ('monbloc.monitem, current_record, insert_allowed, property_false);
       set_item_instance_property ('monbloc.monitem, current_record, navigable, property_false);
       set_item_instance_property ('monbloc.monitem, current_record, visual_attribute, 'VA_ITEM_INACTIF');
    else
       set_item_instance_property ('monbloc.monitem, current_record, insert_allowed, property_true);
       set_item_instance_property ('monbloc.monitem, current_record, navigable, property_true);
       set_item_instance_property ('monbloc.monitem, current_record, visual_attribute, 'VA_ITEM_ACTIF');
    end if;
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Excellent.

    Avec un peu de recul j'ai réussi à utiliser ta technique qui fonctionne à merveille.

    Merci encore.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut detail sur les proprietes de la fonction set_Item_Instance_Property
    Bonjour,
    Je ne connaissais que les prorietes concernant les changements de couleur avec la fonction set_Item_Instance_Property.
    A priori, il y en a d'autres. Est il possible par exemple de modifier l'aide ou une bull info avec cette fonction ?
    Plus clairement, j'ai une colonne de tableau (faisant partie d'un bloc basé), et l'information contenue dans cette colonne déborde souvent. Je souhaiterai en cliquant sur le champ concerné dans mon tableau voire s'afficher au niveau de l'aide mon contenu, ou en passant (solution que je préfère) mon champ dans une bull info).
    pour le moment, j'utilise la fonction set_Item_Property, mais il me renvoie le message suivant : impossible de trouver l'élément "contenu de mon champ" pour en retourner la valeur.
    Merci de votre aide

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Propiete de set_item_instance_properties
    En faite, je viens de trouver sur un autre site :
    il faut utiliser set_item_properties :
    Set_Item_Property('basebloc.champ', TOOLTIP_TEXT, :basebloc.champ);
    a+

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/06/2006, 18h21
  2. désactiver un item de la barre de menu
    Par hottnikks_79 dans le forum Access
    Réponses: 1
    Dernier message: 06/05/2006, 19h50
  3. [Débutant] [Forms 6/Oracle 8.1.7] recherche cours
    Par alliga dans le forum Oracle
    Réponses: 15
    Dernier message: 10/02/2006, 08h17
  4. Réponses: 4
    Dernier message: 20/12/2005, 19h05
  5. activer ou désactiver des items d'un menu
    Par gcore dans le forum Composants
    Réponses: 3
    Dernier message: 08/06/2004, 14h07

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