Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Nous venons (enfin !) de migrer notre application de PB7 à PB9 et nous rencontrons le changement de comportement suivant :
A l'insertion d'une nouvelle ligne, nous faisions dans notre ancètre (issu de PB5 avant moi pour la précision)
ll_row = dw.RowCount() dw.InsertRow(0) dw.setRow(ll_row + 1) dw.setColumn(1) dw.ScrollToRow(ll_row + 1) dw.setFocus()
Et visuellement c'était bien la dernière ligne qui avait le focus. En PB9, le problème est que si la ligne insérée provoque un scroll vertical de l'ascenceur, c'est la première ligne de cette nouvelle page qui a le focus et plus la dernière ligne insérée ! Donc gros problème pour les programmes à saisie "accélérée" (lecture par douchette, etc.).
Hors ligne
OK, OK, cela vient de notre ancêtre de DW où l'évènement ScrollVertical est codé comme suit :
ls_Row = THIS.Object.DataWindow.FirstRowOnPage This.ScrollToRow(long(ls_Row))
Mais ce que je ne comprends pas c'est pourquoi cela ne se déclenche pas en PB7 lors d'un scroll vertical automatique, mais seulement manuel ?
Hors ligne














vas savoir...
j'allais te suggérer un SelectRow
NB : pourquoi migrer d'une version obsolète vers une autre version obsolète ? tant qu'à faire autant migrer vers la version courante, ou bien ?
Hors ligne
Question d'homogénéité. Nos autres applications (plus légères) avaient été migrées sous PB9 (à l'époque). Et de temps aussi, la migration étant plus une question de confort que de nécessité. Mais PB11 / 12, nous sommes d'accord, même si ce n'est pas notre priorité #1 aujourd'hui !
Hors ligne










Salut
Tu peux verifier en pb 6 si l'event etait en 'extend ancestor script' ?
(-> perdu lors de la migration ...)
Hors ligne