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 :

[Forms]Couleur d'une ligne sur Forms builder


Sujet :

Forms Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Forms]Couleur d'une ligne sur Forms builder
    Bonjour,
    Voici mon problème sur forme builder d'oracle 9i :
    Je veux afficher une ligne d'un block multiligne en couleur selon une condition.
    Donc j'ai mon 'IF' qui fonctionne, mais je n'arrive pas à changer la couleur.
    Le truc c'est que ca me change la couleur de mon champ donc de la colonne, je suis passé par un attribut visuel, j'ai cherché dans tous les forums, il y a quelque sujet qui en parle, mais qui ne résolve pas mon problème, même sur le tuto d'oracle il y a une explication de la manipe à faire mais 'nada' rien pas j'ai pas réussi a changer la couleur d’ une seul ligne. Donc est ce que il y a une option ou un truc que j'ai zapé ???? je sais pas.

    alors voici mon bou de code :
    set_item_instance_property('Lecteur.num', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'Couleur_ligne_vert');

    Merci

    Je rajoute tout mon code que j'ai mis dans un post_query :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    DECLARE
    /* Declaration des variables*/
    VNum VARCHAR(6) := :LECTEUR.Num;
    VNbrs_Emprunt number ;
     
    /* Selection et chargement de toutes les lignes identifient les lecteurs (Num) dans un curseur*/
    CURSOR C1 IS SELECT DISTINCT Num FROM LECTEUR;
     
    BEGIN
    /* ouverture du curseur C1*/
    	OPEN C1;
    /* chargement des valeurs de la première ligne dans une variable*/
    FETCH C1  INTO VNum;
     
    /* ouvre une boucle qui scrute toutes les lignes du curseur*/
    WHILE C1%FOUND LOOP
     
    /*Compte le nombre de livre emprunte*/
    SELECT count(EMPRUNT.Num) INTO VNbrs_Emprunt FROM EMPRUNT 	WHERE EMPRUNT.Num = VNum AND Date_Pret_r IS NULL;
     
    If VNbrs_Emprunt = 0 THEN
    /*Pas d emprunt BLANC*/
    SET_ITEM_instance_PROPERTY( 'lecteur.num', current_record, VISUAL_ATTRIBUTE,'COULEUR_blanc');
    ELSE
    /*Au moins un emprunt VERT*/
    SET_ITEM_instance_PROPERTY( 'lecteur.num', current_record, VISUAL_ATTRIBUTE,'COULEUR_vert');
     
    END IF;
    FETCH C1  INTO VNum;
    END LOOP;
    /*Ferme le curseur*/
    CLOSE C1;
    END;

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    C'est pourtant bien la technique a utiliser.
    Etes-vous sûr du résultat du traitement de votre curseur ?
    Essayez simplement de changer d'attribut visuel, en dehors de tout curseur.
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Ok, merci pour ton idée, maintenant tout fonctionne correctement, effectivement j'ai recherché trop loin car en gros le curseur c'est l'appli qui le gère. Donc je mets mon code pour les prochains qui chercheraient à faire la même chose ;-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    DECLARE
    /* Declaration des variables*/
    VNum VARCHAR(6) := :LECTEUR.Num;
    VNbrs_Emprunt number ;
     
     
    /*Compte le nombre de livre emprunte*/
    SELECT count(EMPRUNT.Num) INTO VNbrs_Emprunt FROM EMPRUNT WHERE EMPRUNT.Num = VNum AND Date_Pret_r IS NULL;
     
    If VNbrs_Emprunt = 0 THEN
    /*Pas d emprunt BLANC*/
    SET_ITEM_instance_PROPERTY( 'lecteur.num', current_record, VISUAL_ATTRIBUTE,'COULEUR_blanc');
    ELSE
    /*Au moins un emprunt VERT*/
    SET_ITEM_instance_PROPERTY( 'lecteur.num', current_record, VISUAL_ATTRIBUTE,'COULEUR_vert');
     
    END IF;
     
    END;
    Génial et encor MERCI.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/11/2009, 11h55
  2. Réponses: 6
    Dernier message: 27/04/2009, 13h43
  3. [AC-2007] Mise en forme conditionelle sur un état une ligne sur deux
    Par Razorback dans le forum IHM
    Réponses: 2
    Dernier message: 21/04/2009, 13h23
  4. [XSL/CSS] Changement de couleur une ligne sur deux
    Par FlyByck dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/09/2006, 20h20
  5. [Struts]logic:iterate - une ligne sur deux en couleur
    Par jeb001 dans le forum Struts 1
    Réponses: 24
    Dernier message: 17/10/2005, 15h07

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