Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Il semblerait que les méthodes sort et filter de la DW ne déclenchent pas l'événement ItemChanged ou même un AcceptText
Hors ligne
Sort causes all rows to be retrieved so that they are sorted correctly. It also changes the current row to 1 without causing the RowFocusChanged or RowFocusChanging events to fire. These events should be triggered programmatically after the Sort function is called.
Es-tu sûr que ces évènements doivent se déclencher après un sort?
Hors ligne
Je trouverais ça plus pratique, oui. En tous cas l'AcceptText ...
Hors ligne
Bonjour,
Accepttext() est une méthode et non un événement. Tu dois appeler cette méthode afin de copier le contenu courant du contrôle de la datawindow en cours d'édition dans le buffer de la datawindow.
Le fait d'invoquer Accepttext() déclenchera dans ce cas l'événement ItemChanged.
Je ne vois pas pourquoi les méthodes Sort et Filter déclencherai l'événément ItemChanged.
Si des données doivent être validées, il faut le faire en amont en appelant la méthode AcceptText(). Je ne vois en aucun cas un bug.
Hors ligne
OK, ce n'est pas un bug. Je déclenche déjà l'AcceptText dynamiquement à chaque sort et filter.
Hors ligne
Oui, si tu as des données en cours d'éditions avant d'appliquer un filtre ou un tri. Il faut faire quelque chose du genre :
IF dw_1.AcceptText() = 1 THEN dw_1.SetSort(....) dw_1.Sort() dw_1.SetFilter(...) dw_1.Filter() END IF
L'AcceptText déclenchera l'événement ItemChanged te permettant de valider les données avant d'appliquer un filtre ou tri.
Hors ligne
C'est à peu de chose près le code que j'avais écrit ... Mon problème était qu'un élément ne passant pas le validation test passait dans le filter buffer ...
Hors ligne