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 :

Rafraîchir le contenu d'un bloc après la sortie d'un champ


Sujet :

Forms Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Rafraîchir le contenu d'un bloc après la sortie d'un champ
    En Oracle forms 9i

    J'ai un bloc maitre - détail. Dans le bloc maitre j'ai un champs de type LOV. Je veux à la sortie de champs LOV rafraichir le contenue du bloc détail. ça marche pas avec le WHEN_VALIDATE_ITEM du champs LOV. Le when validate item n'accepte pas un go bloc.

    Merci de m'aider

  2. #2
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut
    Salut,

    Tu mets ce code dans le WHEN-BUTTON-PRESSED du bouton qui appelle la LOV

    Adaptes ce code à ton besoin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    declare 
    	id boolean ;
    begin 
    	id :=show_lov('lov_nom',50,50);
    	IF not ID  THEN 
    		BELL;
    	end if;
    if :nom_bloc_maitre.nom_champ is not null then 
      GO_block('block_detail_nom');
      execute_query;
    end if ;
    end ;
    Dans le cas ou tu n'as pas de LOV, tu peux utiliser un timer.

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Timer
    Merci beaucoup Salim.
    Justement mon problème est lorsque l'utilisateur n'utilise pas la LOV. C'est à dire il saisit directement dans le champ et navigue vers un autre champ (en utilisant la souris ou le TAB du clavier). C'est dans ce cas que je veut rafraîchir le block détail. J'ai utilisé le KEY-NEXT-ITEM mais lui ne se déclenche pas lorsque la navigation est faite par la souris.

    Mon problème reste posé.

  4. #4
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut
    salut,
    Je te propose cette solution :

    mais dans le when-validate-item au niveau de ton item
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    DECLARE 
    timer_id Timer; 
    one_minute NUMBER(5) := 60; 
    BEGIN 
    timer_id := CREATE_TIMER('emp_timer', one_minute, NO_REPEAT);
    END;
    au niveau de ta forme ( module)tu crées un trigger when-timer-expired
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    go_block('nom_block_détail');
    execute_query;

  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
    Si le canevas qui contient ton bloc détaillé n'est pas affiché au retour de ta LOV (par exemple s'il figure dans un onglet différent de celui du bloc maître) alors tu peux utiliser les procédures restreintes (dont GO_BLOCK) dans les triggers :
    - when-new-bloc-instance
    - when-new-item-instance
    - when-new-...-instance

    Sinon, dans les propriétés du bloc détail, tu peux faire référence aux items du bloc maître afin de gérer dynamiquement le contenu du bloc détail.

  6. #6
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci Salim. ça fonctionne bien avec le timer. Bravo

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/01/2009, 12h23
  2. Rafraîchir le contenu d'un composant JList ?
    Par Sylver--- dans le forum Composants
    Réponses: 12
    Dernier message: 20/06/2007, 11h36
  3. Réponses: 12
    Dernier message: 20/09/2006, 09h31
  4. [XSLT][>XHTML] interprétation du contenu d'un bloc CDATA
    Par Matth_S dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 21/07/2006, 13h18

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