Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 10-12-2008 10:59:38

djeckelle  
Membre Geek
Lieu: Beauvais
Date d'inscription: 02-06-2008
Messages: 38
Pépites: 3
Banque: 0

Probléme avec editmask

Bonjour,

Je crée dynamiquement une colonne de type editmask dans une datawindow.
Mon soucis est que par exemple je veux que mon masque soit de type #0.##, lorsque le champs est crée à l'affichage j'obtiens 0,  de plus le 0 est enregistré en base.


"Il vaut mieux échouer, apprendre et s'améliorer que ne pas avancer."
[Définition de l'échec en extrême programming d'après la revue programmez de Mai 2008]

Hors ligne

 

#2 10-12-2008 11:01:23

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: Probléme avec editmask

tu ne remplirais pas 0 par defaut ?

au pire des cas, tu attribues un NULL


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 10-12-2008 12:50:43

djeckelle  
Membre Geek
Lieu: Beauvais
Date d'inscription: 02-06-2008
Messages: 38
Pépites: 3
Banque: 0

Re: Probléme avec editmask

Voici mon masque : #0,##;-#0,##;0;null

Le problème c'est que je ne veux pas que ça m'enregistre 0 en base si initialement il n'y a pas de valeur.
Et je veux que dans la colonne le format affiché soit 0,0.


"Il vaut mieux échouer, apprendre et s'améliorer que ne pas avancer."
[Définition de l'échec en extrême programming d'après la revue programmez de Mai 2008]

Hors ligne

 

#4 10-12-2008 13:22:00

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: Probléme avec editmask

T'es sûre que tu parles bien d'un masque d'editMask là? Pas d'un display format par hasard...?

Sinon, vérifies ce que te dit Pick: n'as tu pas mis 0 comme valeur par défaut de ta colonne?

Hors ligne

 

#5 10-12-2008 13:37:46

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: Probléme avec editmask

Bonjour,

Attention, la virgule est le séparateur des milliers, le point est le séparateur décimal dans PB (ne tient pas compte des préférences régionales de la machine).

Si tu veux afficher 0,0 dans la colonne en l'absence de saisie avec saisie de la partie entière limité à 99 en saisie avec un chiffre significatif en partie décimale :

#0.0;-#0.0

Hors ligne

 

#6 10-12-2008 14:28:38

djeckelle  
Membre Geek
Lieu: Beauvais
Date d'inscription: 02-06-2008
Messages: 38
Pépites: 3
Banque: 0

Re: Probléme avec editmask

Je crée une colonne avec un mask dans une datawindow. Et non il n'y a pas de valeur par défaut.

Code: pb

ls_chaine = "column(" +                                &
        " band=detail" +                            &
        " id=" + st_zone.id +                        &
        " color='" + st_zone.color_text + "'" +            &
        " background.color='" + st_zone.color_background + "'" +  &
        " background.mode='" + st_zone.background_mode + "'" +  &
        " height='" + st_zone.height +  "'" +              &
        " tabsequence=" + st_zone.tabsequence +            &
        " width='" + st_zone.width + "'" +                &
        " x='" + st_zone.x + "'" +                      &
        " y='" + st_zone.y + "'" +                      &
        " name=" + st_zone.name +                      &
        " alignment='" + st_zone.alignment + "'" +          &
        " format='[general]'" +                        &
        " font.face=" + st_zone.fontface +                &
        " font.height=" +  st_zone.fontheight +             &
        " font.weight='" + st_zone.weight + "'" +            &
        " font.family='2'" +                          &
        " font.pitch='2'" +                          &
        " font.charset='0'"
            ls_chaine += " border='" + st_zone.border + "'" +        &
        " format='#0,## '" +            &
        " editmask.mask=''#0,## ;-'#0,##;0;null'" +      & 
        " editmask.focusrectangle=no"
            ls_chaine += " ) ~r~n"

Et ensuite j'applique un modify de ma chaîne


"Il vaut mieux échouer, apprendre et s'améliorer que ne pas avancer."
[Définition de l'échec en extrême programming d'après la revue programmez de Mai 2008]

Hors ligne

 

#7 11-12-2008 08:47:48

nico  
Modérateur
Award: bf
Lieu: Plélan le grand
Date d'inscription: 08-02-2007
Messages: 273
Pépites: 13
Banque: 9,223,372,036,854,776,000

Re: Probléme avec editmask

bonjour djeckelle,

comme te l'a dis Buck, la virgule est le séparateur des milliers, il faut donc mettre un point dans ton editmask

Code: pb

ls_chaine = "column(" +                                &
        " band=detail" +                            &
        " id=" + st_zone.id +                        &
        " color='" + st_zone.color_text + "'" +            &
        " background.color='" + st_zone.color_background + "'" +  &
        " background.mode='" + st_zone.background_mode + "'" +  &
        " height='" + st_zone.height +  "'" +              &
        " tabsequence=" + st_zone.tabsequence +            &
        " width='" + st_zone.width + "'" +                &
        " x='" + st_zone.x + "'" +                      &
        " y='" + st_zone.y + "'" +                      &
        " name=" + st_zone.name +                      &
        " alignment='" + st_zone.alignment + "'" +          &
        " format='[general]'" +                        &
        " font.face=" + st_zone.fontface +                &
        " font.height=" +  st_zone.fontheight +             &
        " font.weight='" + st_zone.weight + "'" +            &
        " font.family='2'" +                          &
        " font.pitch='2'" +                          &
        " font.charset='0'"
            ls_chaine += " border='" + st_zone.border + "'" +        &
        " format='#0.## '" +            &
        " editmask.mask=''#0.## ;-'#0.##;0;null'" +      & 
        " editmask.focusrectangle=no"
            ls_chaine += " ) ~r~n"


Tu peux peut être utiliser la propriété format de ta colonne. L'inconvénéant est qu'elle ne guidera pas l'utilisateur lors de sa saisie, mais elle ne mettra pas non plus de valeur par défaut si l'utilisateur ne passe pas dedans.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22