Seite 1 von 1

DCBROWSECOL und Gotfocus

Verfasst: Di, 11. Feb 2020 9:26
von Manfred
wenn ich das hier mache

Code: Alles auswählen

@ oDialogZusatz:nOben,oSysPara:skaliereXbParts(5) DCBROWSE oDialogZusatz:oBrowseUnterricht;
                     DATA oDialogZusatz:aBrowseUnterricht;
                     EDIT xbeBRW_ItemSelected MODE DCGUI_BROWSE_EDITEXIT;
               ITEMMARKED {|| oDialogZusatz:itemmarkedbrowse("browse2"),;
                              dc_getrefresh(getlist),;
                              dc_getorigset(getlist);
                          };
              NOSOFTTRACK;
                 OPTIMIZE;
                   PARENT oDialogZusatz:oRahmenBrowse2;
                     SIZE DCGUI_PARENTWIDTH-oSysPara:skaliereXbParts(10),DCGUI_PARENTHEIGHT - oDialogZusatz:nOben

          DCBROWSECOL OBJECTVAR datum;
             GOTFOCUS {|uNIL1,uNIL2,o| oDialogZusatz:pruefeArrayUnterricht(o,"rein")};
               HEADER "Datum";
            LOSTFOCUS {|uNIL1,uNIL2,o| oDialogZusatz:pruefeArrayUnterricht(o,"raus")};
               PARENT oDialogZusatz:oBrowseUnterricht
wird die Funktion in Gotfocus erst aufgerufen, wenn das feld verlassen wird. Dann klappt aber der Vergleich nicht mehr was vorher und nachher drin war/ist. Wenn ich in der Funktion einen breakpoint habe, dann wird nach dem Verlassen der Zelle zuerst der GotFocus und dann sofort der Lostfocus ausgeführt. Aber der Zellinhalt ist jedesmal der, der beim Verlassen der Zelle aktuell war. Die Änderung wird nicht bemerkt. Was mache ich falsch?

PS: Gotfocus feuert erst, wenn die Zelleingabe mit Return beendet wird. Müßte das nicht sein, sobal die Zelle zur Eingabe aktiviert wird?