Seite 1 von 1

DCBrowse CellEdit schneidet Dezimalstellen ab

Verfasst: Mo, 05. Aug 2019 12:06
von Peter Schweizer
Hallo Wissende,
in eine DCBrowse mit CellEdit leite ich mit Enter das Editieren ein,
editiere ein numerisches Datenbankfeld (z.B. 123,45)
und bestätige mit Enter.
Nach dem Enter zeigt der Browser (z.B. 123,00 ) an und der Wert steht dann auch so in den dbf.
Der Effekt tritt nur bei num. Feldern auf.

Hat jemand einen Tip, was das schief laufen könnte ?

Code: Alles auswählen

   	@ 1,1 DCBROWSE oBrowse;
			ALIAS cAlias;
			PRESENTATION DC_BrowPres();
			EDIT xbeBRW_ItemSelected ;
				MODE DCGUI_BROWSE_EDITEXIT;
			 	ACTION {|| DbRLock() };
				EXIT   {|o|  oBrowse:refreshAll(), SetAppFocus(oBrowse)  }
Die Browsespalte wird prinzipiel so definiert:

Code: Alles auswählen

				DCBROWSECOL DATA  bFldBlock ;
 							EDITOR "ID"+STRZERO(i,2) ;
							PICTURE "999999.99";
							HEADER  'Wert";
							PARENT oParent

		 		@ NIL,NIL DCGET xNIL  GETID "ID"+STRZERO(i,2) ;
				 			           PICTURE '"@K 999999.99"';
	 							   VALID bVali
mfg Peter

Re: DCBrowse CellEdit schneidet Dezimalstellen ab

Verfasst: Mo, 05. Aug 2019 12:43
von Tom
Und ohne die Picture-Klausel? Warum ist die eigentlich doppelt in Anführungszeichen gehalten, in einfachen und typografischen?

Re: DCBrowse CellEdit schneidet Dezimalstellen ab

Verfasst: Mo, 05. Aug 2019 13:00
von Peter Schweizer
Hallo Tom,

die Picture-Anweisung wird im Programm tatsächlich zusammengebaut: PICTURE '"@K '+ aSpaDefPict[i,3]+'"'

Hab jetzt auch ganz ohne Picture Anweisung neu compiliert, gleicher Effekt.
Hab nun zusätzlich auch noch Datums Felder getestet. Hier kann ich gar nichts dauerhaft ändern. Der vorher Datumswert ist nach einer Änderung wieder in der Anzeige z.B. vorher: 01.01.1994 ändernzu: 02.03.2019 nachher: 01.01.1994

Da muß ich doch irgendwie etwas prinzipiell falsch machen ?!

Peter