Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: witti am 12.10.17 - 14:18:01

Titel: embedded view springt in erste Zeile bei Masken refresh
Beitrag von: witti am 12.10.17 - 14:18:01
Hallo,

wenn man in einer Maske eine (oder mehrere) embedded Views verwendet und man steht in irgend einem Feld in der Maske und drückt F9, verliert die embedded View die aktuelle Auswahl und springt in die erste Zeile.
Das gleiche passiert natürlich auch bei uidoc.refresh, @Command([ViewRefreshFields]), einem OnChange Event eines Feldes usw...

Kann man das irgendwie verhindern?

Danke
Marco
Titel: Re: embedded view springt in erste Zeile bei Masken refresh
Beitrag von: Tode am 13.10.17 - 08:41:05
nein... Man kann mit ganz viel Vodoo dafür sorgen, dass die View NACH dem Refresh wieder auf die Zeile springt, auf der sie vorher war... Ich habe das in einem Projekt gemacht, aber

1. sind das ca. 200 Zeilen Code verteilt über verschiedene Events in Maske und Ansicht
2. bringt das den Client zum Crash, wenn die falschen Events in der falschen Reihenfolge getriggert werden
3. ist es nicht zu 100% zuverlässig: Man muss das OnSelect- Event der View dazu hernehmen, und das wird u.U. nur getriggert, wenn man in die View reinklickt... Das heisst: Die Ansicht springt erst mal nach oben, und sobald man reinklickt wieder an die alte Stelle.

Man kann das "OnFocus" wiederum mit Code triggern, indem man z.B. mit uidoc.GotoField zu dem Feld springt, das direkt überhalb der view ist, und dann -mit Windows Libraries- die Keypresses (Tab, Space, nach unten) emuliert, die man brauchen würde, um in die view zu wechseln, aber das ist wiederum SEHR fehleranfällig und führt wieder zu 2. wenn man es falsch macht...
Titel: Re: embedded view springt in erste Zeile bei Masken refresh
Beitrag von: witti am 13.10.17 - 09:15:40
Vielen Dank für deine Antwort.
Ich konnte mir schon fast denken, dass es fast unmöglich ist das zu realisieren.

Da ich schon nicht mehr zählen kann wie oft mir Notes in den letzten Tagen abgeschmiert ist, werden die Anwender wohl damit leben müssen, das die View die aktuelle Zeile verliert.