Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
J'utilise PB11.2.
Je voudrais savoir quelle syntaxe utiliser pour changer la proriété 'Protect' d'un champ d'une datawindow grid.
Est-ce qu'il est possible, dans le code, de changer la propriété 'Protect' à 1 ou 0 pour le champ field_5 de la 3ème ligne de la dw ?
Si je fais:
myDw_1.Object.field_5.Protect='0'
alors il me change la propriété sur toute la colonne field_5.
Je cherche à le faire que pour le champ field_5 de la 3ème ligne.
Est-ce que vous auriez une idée ?
Merci d'avance de votre aide,
Thorben
Hors ligne
Salut,
La proprité prootect est lié à la colonne. Si tu veux protéger une ligne uniquement ( ou plusieurs ) il te faut mettre la propriété de manière dynamique en utilisant le contenu d'une colonne pour faire le protect ou non
Dans la propriété dynamique PROTECT ( voir icone à droite de protect )
IF ( condition <exemple colonne = 'VALEUR'> , 1 , 0 )
Hors ligne
salut, donc dans ton cas le code devient :
myDw_1.Object.field_5.Protect='0~tif(getrow()=3,1,0)'
Hors ligne
Je me permet de revenir sur ce sujet.
Tout d'abord merci pour ces réponses.
Ensuite, est-ce quelqu'un pourrait me dire ce qui cloche dans le bout de code suivant :
ls_ret = l_dw.Modify(ls_object[li_count_object] + ".Protect='0~tif(s_updatable='Y',0,1)'")
J'ai un message d'erreur du genre :
14:40:16 - Line 1 Column 35: incorrect syntax. 2
Merci d'avance pour vos avis avisés
Hors ligne
un problème de quotes imbriquées ?
Hors ligne
erasorz a écrit:
un problème de quotes imbriquées ?
je pense que oui, ça pourrait donner quelque chose comme çà :
ls_ret = l_dw.Modify(ls_object[li_count_object] + ".Protect='0~tif(s_updatable=~~~'Y~~~',0,1)'")
Hors ligne