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






Bonjour à tous,
J'ai un petit souci, dans mon rapport, je voulais supprimer les lignes non valides.
pour vérifier qu'une ligne est invalide, je dois appliquer une formule dans un 'computed filed' et selon la valeur
de retour de ce champ je juge que ce champ est invalide ou non .
Le problème 1: Je ne peux pas mettre la formule dans ma requête.
Le problème 1: Le champ 'computed filed' est dépend du résultat d'autre 'computed filed'.
Merci d'avance
Dernière modification par mattdamon (31-03-2010 17:25:50)
Hors ligne






Y a t'il une solution ?
Dernière modification par mattdamon (31-03-2010 15:06:06)
Hors ligne














mettre la visibilité des lignes en fonction de ton compute
mattdamon a écrit:
Le problème 1: Je ne peux pas mettre la formule dans ma requête.
Quel SGBR ? Quelle formule ?
En principe on peut faire en SQL "au moins" tout ce qui est possible en compute PB
Hors ligne






erasorz a écrit:
mettre la visibilité des lignes en fonction de ton compute
mattdamon a écrit:
Le problème 1: Je ne peux pas mettre la formule dans ma requête.
Quel SGBR ? Quelle formule ?
En principe on peut faire en SQL "au moins" tout ce qui est possible en compute PB
J'ai appliqué la visibilité sur tous les champs de ma ligne et j'ai coché le flag Autosize Height le résultat c'est qu'il y des espaces vides des lignes enlevées. Comment enlever ces espaces ?
Je travaille sur ORACLE 10.
Ce n'est pas une formule en fait, mais il s'agit une condition simple.
Dernière modification par mattdamon (31-03-2010 16:00:02)
Hors ligne






Bonjour,
Pour ton cas, il me semble qu'il suffit d'appliquer un filtre pour éliminer les lignes non nécessaires à l'affichage plutôt que de les rendre visible ou invisible :
dw_1.Setfilter("invalide <> 1")
dw_1.Filter()
Hors ligne






buck a écrit:
Bonjour,
Pour ton cas, il me semble qu'il suffit d'appliquer un filtre pour éliminer les lignes non nécessaires à l'affichage plutôt que de les rendre visible ou invisible :Code: pb
dw_1.Setfilter("invalide <> 1") dw_1.Filter()
Mais le problème c'est que la valeur du champ invalide est calculer dans le rapport lui même et précisément dans un computed filed.
Hors ligne






J'aime pas refaire les traitements qui ont été faits dans mon rapport dans le code parce que dans le rapport, il y un Trailer group qui groupe les lignes selon un groupe definition très complexe.
Hors ligne






La méthode SetFilter s'applique également au "computed field", invalide peut être le nom d'un "computed field"
Hors ligne






buck a écrit:
La méthode SetFilter s'applique également au "computed field", invalide peut être le nom d'un "computed field"
C'est vrai je l'ai testé et ça fonctionne parfaitement et comme je veux
Merci infiniment
Hors ligne






Bonjour,
Je reviens une autre fois à ce sujet.
En fait je voulais mettre le setfilter et le filter dans le rapport et pas dans mon code, est ce faisable ?
Merci d'avance
Hors ligne






Bonjour,
Oui, le filtre peut être défini à partir de l'IDE. Lorsque, tu édites ta datawindow : menu rows -> Filter ... -> Specify filter
Hors ligne






buck a écrit:
Bonjour,
Oui, le filtre peut être défini à partir de l'IDE. Lorsque, tu édites ta datawindow : menu rows -> Filter ... -> Specify filter
J'ai fait édite source de la datawindow, mais je comprend pas où je modifie/ajoute !!!
Tu peux me guider buck ?
Je travaille sur PB 10.5.1 build 6684
Dernière modification par mattdamon (08-04-2010 13:41:25)
Hors ligne














c'est pourtant clair :
buck a écrit:
Lorsque, tu édites ta datawindow : menu rows -> Filter ... -> Specify filter
au pire : 
Hors ligne






Désolé, j'ai mal compris la réponse de Buck malgré qu'elle est trop claire...
J'ai renseigné le Specify filter par le même filtre que j'ai écrit dans mon code, mais ca va pas marcher !!!
Il se peux que je suis en train de faire un filtre sur un compute field...
Est ce que c'est Normal ce comportement ?
Dernière modification par mattdamon (08-04-2010 14:03:35)
Hors ligne






Non, le comportement devrait être strictement identique.
Hors ligne






buck a écrit:
Non, le comportement devrait être strictement identique.
A part le Specify filter à ajouter dans le rapport, existe t'il d'autre choses à ajouter dans le code genre datawindow.filter() ....
Hors ligne






buck a écrit:
Non, le comportement devrait être strictement identique.
Effectivement, comme tu as dit, le comportement est identique.
Le problème est corrigé, il s'agit d'un autre filter dans le code qui a écrasé mon filter.
A+
Hors ligne