Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Encore moi et mes questions du lundi ;-)
Dans un DW la première ligne peut être utilisée (avant le Retrieve) pour filtrer les données. Ex: dans la colonne ID j'entre '>500' et ça me filtrait bien avec PB 9.0 mais ça ne fonctionne plus avec PB 11.5
Maintenant avec PB 11.5 j'ai un message d'erreur: Item '>500' does not pass the validation test !
- Pourquoi est-ce que ça fonctionnait avant ?
- Comment désactiver la validation avant le retrieve ?
Merci pour vos lumières
Fabrice
Dernière modification par thefab (18-12-2008 16:03:19)
Hors ligne
Bonjour,
Il est possible de filtrer en amont en mettant en argument dans la clause where de la requête SQL et en utilisant un retrievial argument par exemple ou en aval en utilisant la méthode SetFilter et Filter.
J'ai peut être raté quelque chose. J'ai pas bien compris quelles manipulations tu effectués, tu peux donner plus de précisions ? code sample ? (j'ai l'impression que tu parles du champ "validation expression" de la datawindow)
Hors ligne
54654654
Hors ligne
buck a écrit:
Bonjour,
Il est possible de filtrer en amont en mettant en argument dans la clause where de la requête SQL et en utilisant un retrievial argument par exemple ou en aval en utilisant la méthode SetFilter et Filter.
J'ai peut être raté quelque chose. J'ai pas bien compris quelles manipulations tu effectués, tu peux donner plus de précisions ? code sample ? (j'ai l'impression que tu parles du champ "validation expression" de la datawindow)
Oui il y a un argument dans la clause WHERE mais ça fonctionne bien et il n'y a pas de SetFilter. Le message d'erreur me faisait aussi pensé au champ "validation expression" mais non rien il est vide !
En fait c'est simplement le DW que je met en mode requête, l'utilisateur peut alors entrer des filtres dans chaque colonne:
dw_1.Object.DataWindow.QueryMode = yes"
Et PB applique automatiquement les filtres de l'utilisateur avec:
dw_1.AcceptText()
dw_1.Retrieve()
dw_1.Object.DataWindow.QueryMode = yes"
Le problème c'est que l'application utilise PFC et ça n'a pas l'air de fonctionner avec car j'ai refais une petite appli toute simple et là ça marche ??
Question subsidiaire: La première colonne (id) est en lecture seule comment je peux autoriser la saisie juste pour saisir le filtre et désactiver après ?
Fab
Hors ligne
thefab a écrit:
Question subsidiaire: La première colonne (id) est en lecture seule comment je peux autoriser la saisie juste pour saisir le filtre et désactiver après ?
Pour autoriser la saisie :
dw_1.Object.nom_colonne.TabSequence=1
Hors ligne
Bon ça à l'air de fonctionner (le problème semble venir de PFC) j'ai simplement appelé AcceptText() avant tout !
Merci nico pour la colonne éditable.
Edit: Je ne mets pas encore en résolu car j'aimerai tester plus en détail.
Dernière modification par thefab (18-12-2008 16:02:47)
Hors ligne