Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Salut à tous,
Dans ma DataWindow de type Tabular, je voulais empêcher l'écriture dans un champs lorsque un autre champs est remplie par "xxx".
je connais que l'évènement control.enable = false s'applique que sur le control de la datawindow mais ce n'est pas le cas lorsque qu'il s'agit d'un champs de la datawindow.
Comment empêcher l'écriture dans le champs ?
Merci
Dernière modification par mattdamon (28-06-2008 18:24:52)
Hors ligne
Bonjour,
Tu peux jouer sur la propriété "Protect" en la positionnant à 1
Hors ligne
Merci foon pour ta réponse.
je travaille avec pb10.5, et dans la propriété de champs je vois pas "Protect".
est ce que c'est possible d'écrire dans le code pour empêcher l'écriture ou non ?
Hors ligne
Ok, foon j'ai trouvé la propriété "Protect" du champs, je l'ai testé mais elle empêche carrément l'écriture, je crois que ce n'est pas le cas parce que j'empêche écrire dans ce champs est dépend de la valeur d'autre champs de la même datawindow.
@+
Hors ligne
il suffit de coder dans la propriete "protect"... tu mets une condition ( if (titi = 'oui',1,0) )
Hors ligne
Oui exactement pick, ca ce que j'ai pensé.
Hors ligne
J'ai fait comme vous avez demandé et j'ai écrit dans la propriété protect du champ (champ1 ) le code suivant :
IF ( (champ2 = 'A') AND ( (champ3 = 'B) OR (champ4= 'C' )), 1, 0)
Mais ici un petit problème qui se présente : le problème c'est que lorsque je saisi 'A' dans champ2 et 'B' dans champ3 ---> le champ champ1 n'est pas accessible mais il n'affiche pas son contenue = xxx.
dans le code et dans l'évènement valide_saisi j'ai remplie ce champs :
dw_datawindow.SetItem(num_ligne, "champ1 ", "xxx")
Que ce que je fais ?
Hors ligne
il n'y a pas de lien....
je ne vois pas le rapport d'un protect et d'un affichage...
Hors ligne
moi non plus !
Hors ligne
Je pourrais mettre cette discusion comme résolu, parce que en fait, avec la proprièté protect du champs et en mettant le code ca va y marcher.
Hors ligne
On peut appliquer la propriété Protect d'un champs directement dans le code :
dw_1.Modify("emp_stat.Protect=1")
@+
Hors ligne
Pages: 1