Après windows pour les nuls, voici PB pour les bons (ou presque).

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 29-01-2007 12:21:37

hellkinder  
Kinder Surprise
Award: chocomordutk6
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 902
Pépites: 0
Banque: 10,524,230,367,490

[RESOLU] Protect sur une colonne mais seulement sur le row en cours

Bonjour a tous!

Mon problème est le suivant :

j'ai une datawindow dans laquelle j'ai plusieurs row que je dois remplir. Toutes les lignes sont visible des le debut.

Je voudrais pouvoir faire un protect =0  seulement sur le premier champs de la premiere ligne. Et avoir ainsi tout le reste du tableau protéger.

Or lorsque je fais
dw_name.object.nom_colonne[1].protect = 0
il n'est pas content et me met un truc du genre "external property blablabla"

Quelqu'un aurait il une idée?

Dernière modification par hellkinder (29-01-2007 12:21:53)


http://img510.imageshack.us/img510/4229/userbar1204625572ha9.gif
"Pour la première fois dans l'histoire de l'humanité, tous les peuples de la Terre ne forment qu'un"

Hors ligne

 

#2 29-01-2007 12:45:15

Steve  
Membre Geek
Lieu: Aux environs de Strasbourg
Date d'inscription: 29-05-2006
Messages: 40
Pépites: 213
Banque: 0
Site web

Re: [RESOLU] Protect sur une colonne mais seulement sur le row en cours

Il faut utiliser une expression :

Code: pb

dw_name.Object.nom_colonne.protect = "0~tif(GetRow()=1,0,1)"

En clair : ne pas protéger le champs nom_colonne de la 1ère ligne, le protéger pour les autres.

Dernière modification par Steve (29-01-2007 12:46:22)

Hors ligne

 

#3 29-01-2007 13:29:04

hellkinder  
Kinder Surprise
Award: chocomordutk6
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 902
Pépites: 0
Banque: 10,524,230,367,490

Re: [RESOLU] Protect sur une colonne mais seulement sur le row en cours

Merci beaucoup steve, ca marche impecable. Ce que je voudrais faire est un poil plus compliqué, mais je vais trouver le reste seul, car là ca m'a déjà bien débloqué.

Merci 8-D


http://img510.imageshack.us/img510/4229/userbar1204625572ha9.gif
"Pour la première fois dans l'histoire de l'humanité, tous les peuples de la Terre ne forment qu'un"

Hors ligne

 

#4 29-01-2007 13:43:46

Steve  
Membre Geek
Lieu: Aux environs de Strasbourg
Date d'inscription: 29-05-2006
Messages: 40
Pépites: 213
Banque: 0
Site web

Re: [RESOLU] Protect sur une colonne mais seulement sur le row en cours

hellkinder a écrit:

Merci beaucoup steve, ca marche impecable. Ce que je voudrais faire est un poil plus compliqué, mais je vais trouver le reste seul, car là ca m'a déjà bien débloqué.

Merci 8-D

Content que ça te rende service.
Fouille bien dans toutes les propriétés auxquelles ont peut assigner une expression, on peut faire des choses très sympathiques avec ça.

Hors ligne

 

#5 29-01-2007 13:56:56

hellkinder  
Kinder Surprise
Award: chocomordutk6
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 902
Pépites: 0
Banque: 10,524,230,367,490

Re: [RESOLU] Protect sur une colonne mais seulement sur le row en cours

oui effectivement ca s'annonce bien sympathique, bien que de tres longues expression reste compliqué a manipuler

La j'en suis à ca :

Code: pb

dw_reservation.object.cpt_parution.protect="0~tif(GetRow()=CurrentRow(),"+string(a_1)+",0~tif(not(isnull(dw_reservation.object.cpt_parution[getrow()])),0,1))"

sauf que ca ne fonctionne pas...

Le but etant de proteger la colonne cpt_parution si elle n'est pas dans la ligne courrante ou si elle est vide. Dans le cas inverse elle n'est pas protected...c'est un peu freestyle. je pense que ma facon de regarder si le champs est null n'est pas bonne..alors je fouille

Cela dit, si quelqu'un a une idée....   


Dernière modification par hellkinder (29-01-2007 14:23:06)


http://img510.imageshack.us/img510/4229/userbar1204625572ha9.gif
"Pour la première fois dans l'histoire de l'humanité, tous les peuples de la Terre ne forment qu'un"

Hors ligne

 

#6 29-01-2007 15:17:51

hellkinder  
Kinder Surprise
Award: chocomordutk6
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 902
Pépites: 0
Banque: 10,524,230,367,490

Re: [RESOLU] Protect sur une colonne mais seulement sur le row en cours

Réponse trouvé comme un grand, si y'en a que c'est suceptible d'interresser plus tard, je le mets au cas où.

Ce code permet dans une datawindow, d'activer la colonne de son choix. Cette colonne sera protégée dans tous les autres rows exceptés ceux dont cette colonne n'est pas nulle.

Code: pb

dw_reservation.object.cpt_parution.protect="1~tif(isnull(cpt_parution) and GetRow()<>CurrentRow(),1,0)"

ByeBye

Dernière modification par hellkinder (29-01-2007 15:18:35)


http://img510.imageshack.us/img510/4229/userbar1204625572ha9.gif
"Pour la première fois dans l'histoire de l'humanité, tous les peuples de la Terre ne forment qu'un"

Hors ligne

 

#7 29-01-2007 15:19:28

Steve  
Membre Geek
Lieu: Aux environs de Strasbourg
Date d'inscription: 29-05-2006
Messages: 40
Pépites: 213
Banque: 0
Site web

Re: [RESOLU] Protect sur une colonne mais seulement sur le row en cours

hellkinder a écrit:

oui effectivement ca s'annonce bien sympathique, bien que de tres longues expression reste compliqué a manipuler

La contrepartie de la puissance de la chose est effectivement la complication de lecture et de compréhension d'une expression...

La j'en suis à ca :

Code: pb

dw_reservation.object.cpt_parution.protect="0~tif(GetRow()=CurrentRow(),"+string(a_1)+",0~tif(not(isnull(dw_reservation.object.cpt_parution[getrow()])),0,1))"

sauf que ca ne fonctionne pas...

Il y a un "0~t" en trop... Le [getrow()] est de trop également.

Code: pb

dw_reservation.object.cpt_parution.protect="0~tif(GetRow()=CurrentRow(),"+string(a_1)+",if(not(isnull(dw_reservation.object.cpt_parution)),0,1))"

Et vérifie bien que ta zone cpt_parution a la propriété "Empty string is null" cochée. Sinon, pour être sûr, teste également la possibilité d'une chaine vide.

Hors ligne

 

#8 29-01-2007 15:24:15

hellkinder  
Kinder Surprise
Award: chocomordutk6
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 902
Pépites: 0
Banque: 10,524,230,367,490

Re: [RESOLU] Protect sur une colonne mais seulement sur le row en cours

eh bien voila bande de petits veinards, vous avez la solution en plusieurs versions.

Merci pour m'avoir magnifiquement coaché Steve :-D


http://img510.imageshack.us/img510/4229/userbar1204625572ha9.gif
"Pour la première fois dans l'histoire de l'humanité, tous les peuples de la Terre ne forment qu'un"

Hors ligne

 

#9 29-01-2007 15:27:27

Steve  
Membre Geek
Lieu: Aux environs de Strasbourg
Date d'inscription: 29-05-2006
Messages: 40
Pépites: 213
Banque: 0
Site web

Re: [RESOLU] Protect sur une colonne mais seulement sur le row en cours

Y a pas de quoi !

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22