Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
J'ai besoin, dans mon programme, de filtrer une datawindow par rapport à différents champs. Je préfère le faire direcement à partir de la sélection base de données. Est-t-il possible de définir plusieurs SELECT dans la datawindow et ainsi surcharcharger la méthode retrieve pour pouvoir résoudre ce problème ?
Hors ligne
salut,
c'est quoi filtrer pour toi ?
ca consiste à quoi ?
si tu changes le retrieve d'une datawindow, cela implique plusieurs datawindows...
Hors ligne
sinon tu peux changer la requete sql de ta DW dans ton script avec un SetSQLSelect
Hors ligne
thezerg a écrit:
sinon tu peux changer la requete sql de ta DW dans ton script avec un SetSQLSelect
oui ou rajouter des conditions dans la requête. Par exemple, supposons que la requête initiale soit :SELECT ID,LIBELLE FROM FACTURE WHERE CLIENT = 'client1'
et que tu veuilles rajouter la condition MONTANT > 1000
ls_old_sql = dw_facture.Object.DataWindow.Table.Select ls_new_sql = ls_old_sql + ' AND MONTANT > 1000' dw_facture.Object.DataWindow.Table.Select = ls_new_sql dw_facture.Retrieve()
NB : Pour info, la doc PB suggère d'utiliser Table.Select
plutot que SetSQLSelect
surtout s'il y a des retrieval arguments :
A string containing the SQL SELECT statement that is the data source for the DataWindow.
Use this property to specify a new SELECT statement or change the data source from a stored procedure or Script to a SELECT statement.
Table.Select has several advantages over the SetSqlSelect method:
· It is faster. PowerBuilder does not validate the statement until retrieval.
· You can change data source for the DataWindow. For example, you can change from a SELECT to a Stored Procedure.
· You can use none or any of the arguments defined for the DataWindow object in the SELECT. You cannot use arguments that were not previously defined for the DataWindow object.
Hors ligne
tres bonne reponse de la part de nos 2 modos...
autant pour moi
Hors ligne
Merci beaubour,
Je prendrai la solution de eRaSorZ
perci et a+
Hors ligne
--------------------------------------------------------------------
Bonjour, peut-on considérer que le problème est Résolu ?
--------------------------------------------------------------------
Hors ligne
Oui, mais je ne vois tjs pas le tag "Résolu ! " Comment je fait pour signaler qu'un problème est résolu ???
Hors ligne
ça y est, j'ai passé en "résolu"
y'a que les modos qui le font !
Hors ligne
Pages: 1